Hey jae,
I have some experience with both options and wanted to pass along what I learned in case it might be of help to you.
Option 1 - The issue with this one is that some of the shipping modules don't like anything other than a two character zone. So "CA - Alameda County" may cause you some problems, but you can have the module check the destination state for that kind of entry and replace it with the correct two characters. I had to make some corrections for both the FedEx module and the DHL module, but I got both to work correctly.
Option 2 - This one is obviously more complicated. I do have something that I expanded on using one of the local sales tax modules. There is no admin interface with it other than to turn it on or off (I just don't have the necessary zen cart understanding to write an admin interface for it). So all the data had to be directly entered into the MYSQL database. So far the module is very rough, but here are the basics: It has two tables, a "rules" table and a "rates" table. The rules table is to define what zones have a local tax and what to base the tax on(city, zip or county). The rates table has the corrisponding rates to those items per zone. So far my testing indicates that it works for city and zip, but I have not finished the county part because county isn't a previously definded field in zen cart and would require some signifigant modifications to the front end of the cart to either use the suburb field or to create a seperate county field. At this point I have not had the time to attempt either.
In any case I am happy to share what I have with you, I have tested it with a unmodifided version of Zen Cart 1.3.0.2.
In any case good luck.
LadyHLG