I'm not sure you're correct there Stehno. Zip codes do not have any sort of distance information built into them, nor are they a standard size, so that is additional data required and processing time to figure out what zipcodes are within X miles of the zip code you entered. You could avoid the additional processing time by fixing the distances offered and precalculating the distance between zip codes and saving them in a table for lookup instead of dynamically calculating them, but that would give much rougher results since it would average distances between zips and ignore real road distances. The speed would probably be slower but not that much since you would be changing from an SQL statement of the form:
SELECT All_Records
WHERE ZIP BETWEEN 91200 AND 91299
Instead of the slower:
SELECT All_Records
WHERE ZIP IN (91234, 91233, 91232, ...)
Assuming the zips are stored as numbers and not as strings, which may or may not be a valid assumption.
I personally would be incredibly happy if they would allow us to filter by two digit zip codes instead of three. Here in the SF bay area we have so many zip codes in close proximity, I find I have to 20 individual searches to comb my local area, which is tedious to the point of tears.