Its very simple to find a zip code - you just open google maps and click on any store/location in the area you want to know. The address and zip code will then show.
I think zip code would give you a wider list of results, because, with coordinates, the range is going off a single point, but with zip code, the range is going off a whole range of coordinates that make up that zip code.
As for what is most effective - I sometimes use zip search when I do not have a programmed list already and want to do a wide search, but when I do, I quickly add any hits to a new FL.
Why? I try to avoid using the full database as much as possible since most trunking systems do not have nearly all of the TGs recorded in the DB, and scanning the full DB, you can only scan on ID scan and not search. So, for many places, scanning the full DB on ID scan, you will miss a lot of stuff.
I usually preprogram any trip routes into a series of FLs, which are categorized by section of the trip. For example, for the first hour, I will be going through two counties, so those two counties' systems/frequencies of interest will go into an FL and everything is on ID Search, then next portion, new FL, etc.
If I cant program a FL ahead of time, I do what I described above - use zip search, save the hits to a FL, then I listen to that FL with ID Search on.