I'm using the geocoder.us database for geocoding, it should also be a
decent base for reverse geocoding. It's just a dbm file so it
shouldn't be too much work to look at it and figure out how to query
it. Downloading and compiling the TIGERLINE files into the dbm file
takes some time though.