I think perhaps there is an easier way to accomplish what you are trying to do. I think adding a city area to the shipping estimator is a mistake and the more difficult path.
The shipping estimator is used by your shipping carrier. If you have it set up with USPS, UPS, or FedEx to get instant rates, then the shipping estimator gets the results directly from these carrier websites. So you adding a city drop-down to the shipping estimator may break the coding needed by your carriers to give you these shipping quotes. The postal code is the city as far as these carriers are concerned.
I am assuming you attached a zone (your local state) to the StorePickup shipping module. Under: Modules>Shipping>Store Pickup> Edit> Shipping Zone,YourStateHere in the drop-down. If this is the case, then when someone enters the Zip code for that state you have set up, it will give the option of: Store Pickup.
My point is I believe you already have it set up correctly if you did I like I mentioned above. If you are willing to allow them to pick it up within your state it should work correctly now. Instead of them entering a state, they enter their zip code and it will match your state automatically. **But if you want to only enable this for your city instead of state, you need to figure out how to add a City to the Locations/Taxes>Zone Definitions area. **Maybe someone else can help with this.
Building a better web, one site at a time: Dayton Web Design