Hi McGill. I have done something which I think matches what you are trying to do. I have created 12 local areas that I offer free shipping to by cloning the flat rate module and making the cost of delivery = £0.
If you do this you will also have to create a new zone for your town and relevant tax zone and rates etc. In my case (being in the UK) I had my county (which is Hampshire) and created Hampshire - Warsash (my local village). You may find another way more suitable for you but I found that creating this near Hampshire would get it noticed and customers selected it without any issues.
Then you clone the flat rate shipping module by going to includes/modules/shipping/flat.php
Download a copy of that to your computer. Open the file as a text document and find all instances of flat and change it to whatever you want to call your new module.
For example:
$this->code = 'flat';
You could change to
$this->code = 'flat_local';
Everywhere that you see flat you will then need to change it to flat_local.
You will have to do this for all instances of FLAT as this is case sensitive.
For example:
$this->title = MODULE_SHIPPING_FLAT_TEXT_TITLE;
you would need to change to
$this->title = MODULE_SHIPPING_FLAT_LOCAL_TEXT_TITLE;
I use Windows 7 and found opening as a text file and using the replace option and replace all keeping everything as case sensitive a very usefull tool for this. When you have replaced flat and FLAT with your chosen new name you need to save it and rename it to whatever you have called your module. In this case I would call it flat_local.php. then you upload it to the same folder as your original flat.php.
Then you need to do the same for the corresponding language file by going to includes/languages/english/modules/shipping/flat.php.
You follow the exact procedure as above remembering to chang flat to flat_local and FLAT to FLAT_LOCAL.
You can change the description and title to whatever you want.
define('MODULE_SHIPPING_FLATBURRIDGE_TEXT_TITLE', 'Free Local Rate');
define('MODULE_SHIPPING_FLATBURRIDGE_TEXT_DESCRIPTION', 'Special Free Delivery Service for [your town]');
Upload that and you now have your custom shipping module. Install and enable it. Choose your town as the shipping zone and set the rate to £0 or $0 and you are then set and ready to go.
There may be a better way to do this but I could not find any answers to my scenario and this works well for me. I had 12 modules to make and it became a little tedious but having just the one should be very easy.
If you need any help you can pm me and I can go into it a little deeper but I think this is pretty simple and you shouldn't have any problems.
I am currently working on a multi-flat rate module so that I be one module that I can configure all my local deliveries from and take out any unecessary files. Keeps ZC as clean as possible.