I like their new GEO sorted set with latitude and longitude. Can someone point me to a [reasonably priced] geocoding database to display nearest Town, Region (only where appropriate), Country (in English) based on latitude and longitude?
It's a big deal to run (takes lots of hardware), but I really like nominatim. I've played with them all and it's the one I've settled on. Helps that I run it on a pair of OSM tile rendering and routing servers. Only downside to nominatim is the space requirement (~ 700gb), and the fact that it takes forever to build the database (24 - 36 hours on 256gb ram machines w/ SSDs....)
I can second GeoNames. Sometimes it's hard to beat free. We take a couple files from their dump[1] (primarily the city data) and import into a database. We can then geolocate a lat/long to the closest city.
I'm using it for a photo app (I only need town/city level granularity), and it works well for my needs. Note that the dataset is based upon populated places though, so YMMV if you need to lookup somewhere in the middle of nowhere.
Here is a JavaScript library I wrote for it, along with some scripts for munging the GeoNames dataset: