Geolocation by IP
These are the free IP geolocation databases that I have researched.
IPligence has a free and commercial version. The free version can be downloaded as a CSV file. It does not give exact city or (lat,lon) information. It only gives the country of origin. That may be sufficient for some types of IP filtering. This is probably not good enough if you wish to narrow users to specific states or regions in the entire USA. The CSV file is about 11MB, so it's not too big.
hostip.info geolocation database is free and open source. This database is quite large (490 MB loaded into MySQL), but will give City and (lat,lon) information. This database has some gaps, so coverage isn't perfect.