Nutty idea of mine. Have an imagecache image sprite module. But you say you can't use a sprite in an img tag. That is incorrect because we currently do that. Proof: http://bellevue.komonews.com/business-directory Do an inspect element on the deals image. Cool eh? (location hint pic)
Now on to the more interesting question. How should the images be grouped? There are 2 groupings I regularly see in most sites. Images on the node & images in a view. The images in a node is easily grouped, one group per imagecache preset. Example: preset called: 100x100, node has 10 images in an imagefield. Read the preset to figure out if the vertical or horizontal is "locked" and build the sprite accordingly. Then use theme hooks to create the correct html markup to use the sprite.
Views grouping is a harder problem to solve. If your using a random sort on a large set of nodes; or the fact that adding a new node just screwed up your sprite & it now need to be rebuilt.
The last thing to think about is how to name the file and what kind of directory structure to use.
This is in the idea phase right now. Came up with it after seeing the html load very quickly for the grammy site but all the images that needed to be loaded slowed it down. Don't get me wrong, that site was quick but I'm thinking it could be quicker.