On the second point - The amount of data that is required for the image map for a single image most likely would make it not something that you would want to move to a style sheet. You may, however move the map to a separate file as shown below. In addition - since the areas defined by the map are specific to a location - unless you had the same exact location for and image and the clicks were then same - its not worth being placed in a separate style sheet.
That said... If your idea is to drive a set of buttons or "clickable areas" and swapping images, then it might be useful to point to a map using css. see
for ideas. Still from my point of view its easier just to add the same usemap to the attributes of the images you want to display.
<img class = "needMap" src = "/myImage.gif" USEMAP = "#myMap">
//note: you can put the map file in a different file and use "file/name#mapname"
<map name = "myMap"
<area shape = "rect" coords = "x1,y1,x2,y2," href = "myHREF1" />
<area shape = "rect" coords = "x1a,y1a,x2a,y2a" href = "myHREF2" />
</map>
Dan - have you ever run across a image css class with usemap defined? i.e. Given that it is an attribute - it may work.
<style>
.needMap {usemap:#myMap;}
Hope this helps - and if the css does work, let us know...
Cheers,
George