Ich hab das auch mal gemacht, für ne iOS-App.
Und zwar so:

Erstmal eine kl. App gebastelt, die für jede PLZ die Koordinaten
(Breite und Länge) ermittelt hat, und zwar bei Google. Da muss man
sich registrieren und dann kann man an deren Maps-API Anfragen senden.

Dann hat man die Koordinaten als 2-dimensionales Array.

Damit kannst du dann die Entw. zw. den zwei gesuchten Punkten
ermitteln. Dazu mußt du nur ermitteln, wieviel Meter ein Breitengrad
und ein Längengrad belegen, und dann ist's ja einfach, nicht?

Falls das zu langsam wird, wenn du ALLE Punkte auf diese Weise
durchsuchen musst, hier noch eine Optimierung:

Sortiere die Koord. nach einer Dimension, z.B. Breite.
Wenn du nun die Entw. zw. zwei PLZ errechnen möchtest, findest du alle
Breiten, die zu der gewünschten Entfernung so etwa noch passen. Damit
hast du schonmal die Menge eingegrenzt, die du prüfen musst.
Dann gehst du durch all die gefundenen Längen und berechnest denen
Abstand zum anderen Punkt, und sortierst diejenigen aus, die zu weit
entfernt sind.

-- 
Thomas Tempelmann, http://www.tempel.org/
Follow me on Twitter: http://twitter.com/#!/tempelorg

Antwort per Email an