We do that, more or less, at the moment, only somewhat more simply - I forget the name of the module I use, but I have implemented 3 copies of it, giving the customer the ability to select a delivery zone manually.
The postal one won't work for us, I don't think, it doesn't actually allow you to make a fine enough adjustment of the distances from the shop.
I have found a tool that allows you to calculate the distance between two post codes - which is so fine that you could measure 100's of a mile! (As the crow flies, of course). Using that tool to calculate the distance from the shop to the delivery address would be the best idea - as it removes all responsibility from the customer - but I don't know how to make a module for Zen Cart (yet).
I just want a module that will look at the customers postcode, works out the distance, and posts an amount in the checkout:
Something like :
if distance <= 2 then delivery charge = 0
if distance > 2 and < 3 then delivery charge =