Well, I only need to get a city from lat and long. I really wonder that none of the map providers (Google, Yahoo, MS) seem to have a web service for that. All of them offer you to input an address and get lat/long back but not vice versa...
when dealing with locations your database would need to have it updated often as names and countries do chnage.
another issue is how you determine the "city" from LL
LL math to find the distance between two locations can get a bit complex, as I recall it's called the Great Circle formla as it takes the cuve of the earth into account.
given a point and a distance you may get multiple location names, if several have non-zero distance and are very close which one do you pick?