We're using an open source geo db with country, state/province, city, zip, lat & long that we use. The filters use a depended drop down select filter for country->state->city as well as the ability to select from the admin panel what cb fields you want to include as filters.
There are definitely a few hurdles in developing this thing to be generalized enough for anyone and be able to work with a site with existing location fields as we basically need to hijack them and replace them with data from the geo db table in order to get the data uniform (ie "Saint Paul" vs "St Paul"). As long as zipcodes were used prior to installing our component the majority of previous data should work fine but I think regardless of what we do there's always going to be issues if trying to rely on location data prior to installing our component. Obviously if it's installed on a fresh site there won't be any issues there.
I think we're about 90% there, we're basically down to making sure the geo location dependent drop downs work correctly on the edit profile form.
This version is a component, custom cb login module and cb plugin and resides on it's own page but if we get decent feedback on this we may build a future version as just a module/plugin with more of a Facebook search style available from a drop down on any page.