Hmm, I've never done it, but maybe you could do it with a CSS sprite. Google that so you can get an idea of how it works.
From there: I would stack the two images, the smaller above the big one...set that to the anchor tag, give it a width and height, and then apply the same image to the a:hover, with background position set along with width/height?