Any way to limit geocoding to city or zip?
Sorry no, You will need to create a custom geocoder.

Creating a custom geocoder should be as easy as copying the current one you want to imitate, renaming it (to avoid confusion and keeping things clear for your successors) and dropping it in your custom php directory in CRM/Utils/Geocode/ (since u dont want to modify the core directories)