At which point you're into a lot more complexity. If you're going to pre-generate that much data, just build a data set for each state that includes all zips within the greatest possible search radius, and start each search with the right data set.
-- Spring: Forces, Coiled Again!