A WebmasterWorld thread named Zip, City, State, County Data discusses solutions for someone to build out a local search engine. This individual asks for help in locating an "up to date list of zip, city, state, county, & lat/long to integrate into a local search function on a site." The reason this individual requests this information is to perform a service to the site's viewers to locate store locations within X miles of a zip code or city.
For this I have used http://www.zipcodedownload.com/ in the past. Actually, I believe they are on my blog blacklist for spamming this site. Others recommend in the thread, http://www.census.gov/geo/www/gazetteer/places2k.html and http://www.melissadata.com/.