We use css gradients for that result. I thought there was something in place to make it work for IE, but I suppose it could depend on the IE version you are using.
I don't have a good answer for Geographic search. The first thing to do is to get the Longitude and Latitude to enable a geographic search. You can either use the Google Geolocation API for this, or you can find a database table of latitude and longitude based on postal code.
I've done it both ways. The hard part is getting the Latitude and Longitude of your addresses in the database. The table based on zips makes that easier, but zips change all the time and it isn't real precise. Geolocation with google is what I tend to do now, but it has its own challenges.
Then there is a formula you can use to do the math and calculate distance in your SQL statement based on the start and end latitude and longitude. You can do a google search to find examples of that on the web.