Netstumbler has aggregated quite a bit of data on hotspots:
HotSpots | NetStumbler.com
Just put in your zip, and it will list out any hotspots, and who the provider is (i.e. free, T-mobile, Boingo, SBC, etc)
You can also hit another button to only return free hotspots.
There is also a free offline app,
SpotShadow, linked on their site, with which you can look up hotspots on your laptop/desktop.