Hi Todd,
Its possible to do the kind of url mapping you describe for images but only if you have ownership of the server and can install an ISAPI filter to do the re-writing. This blog post mentions a couple popular ones. The reason you can't just do it in .NET code is that .NET is not the handler for image files, they are served directly by IIS without ever giving .NET code the chance to intervene. So currently we can do url-rewriting in .NET but we can only do it for extensions handled by .NET like .aspx. On Linux its very easy to make .NET the handler for all requests within a given directory so the situation is different there.
I'm not sure, there may be other techniques by which you can make .NET handle web requests for images (on Windows) but I think any of them will require that you have control of the server and won't work in typical hosted environments. But if you can make .NET the handler for images then you could do the re-writing in .NET code.
As for using images in css like for setting background images, the location of the image is always relative to the css file itself so if you put the images in the same folder as the css file then you can just enter the image name like 'imagefile.gif', if you put images in a subfolder of the skin folder named images, you can reference in the css using just 'images/imagefile.gif'
Hope it helps,
Joe