Forum Moderators: open
At this point it's not possible. An IP address will give you the location of the organization that owns that IP.
You can be more precise using the hostname but all it can give you is the location of the server it represents.
In other words you'll get a major city resolution from almost every hostname because everyone in surrounding smaller towns is being routed to that server on their way out to the net. In some cases you won't even get a city close to where the person lives, or even in the same state.
The technology for geo-targeting by country on the other hand is already here and very easy to implement. You can even get away with targeting by state as long as you accept a small margin of error.
The basic concept is elegant enough that it can be put into place from scratch in a couple of days. Even an organization as big as a top search engine should be able to lumber out a live version in under a month :-)
First they have to actually decide to do it though. I wouldn't even begin to guess when that well be. I expected it in a month or two 4 months ago :-)