I've programmed VIPER and other statewide systems (VA, MD) for various trips up and down I-95 and beyond.
For the Maryland system - which generally has "sites" that are more or less "per county", I assign each county site (and ASR sites within the county) to a different quick key. We have 23 counties (and a couple of additional "exceptions"). Let's say my favorites list is 0. My county system is assigned as system 24 (0.24). The state system is system 0 (0.0). The county site(s) of the state system are also assigned 24 (0.0.24). If I take the time to assign departments, I set those for 50-99. I use 61 for state police. So, in my programming for state police of the sate system is then 0.0.61.
VIPER is way too big for 100 quick keys and each site along the way tends to stand alone. For example, in Brunswick County there are something like 4 sites along Route 17. In Maryland, these would be a single simulcast site but VIPER apparently has these all set up as a stand-alone site - waaaay too many sites.
Since I drive down I-95, for VA and NC, I generally assigned all of the sites along the route to a quick key in the order I'm going to pass through (and return). For those sites I won't even come close to, I either delete them or set them to QK 99 and turn then off.
If I were living in NC, I'd program the VIPER sites in the area I'm going to be spending most of my time (if that were the case) and assign each of those sites a different quick key that can be remembered over time (some kind of pattern). Then, I'd set the rest to 99 and turn them off. This way, if you travel somewhere unexpectedly, you can always go into the programming and change a site set to 99 to some other value and enable it.
The other option is to create a favorites list and enable location control and then use zip code programming to enable various areas.
There's many options.
Recently, I've been experimenting with the GPS option with a semi-custom favorites list (program each of the county public safety systems into a favorites list and enable Location control). I don't like the Full Database option as it tends to load far too much stuff even with the list of SERVice types cut back to a few. The thing that really drives me crazy is all of the conventional stuff that gets pulled in which results in the radio stopped far too much - sometimes with alot of static and other times - silently. I much prefer custom programming with some quick keys for departments, etc.
I'm not yet satisfied with the GPS option. The radio still seems to scan far too much in terms of systems that are too far away to monitor. The information in the RRDB isn't tuned enough (yet) to actual coverage areas of the systems. For the best results, you still need to tune the location and range settings on the systems and sites as well as on the radio itself. This is even worse for newer systems with less range and more focused radiation patterns that tend to stay inside the area of intended coverage. Take the Supply, Brunswick County site of VIPER. While not indicating full county coverage, you still would probably ask why there are four sites in the county if the range of each site is that wide. When visiting the area, if I leave several of the closest sites enabled, the radio may stop on and try to receive a more distant site where the closer site might be carrying the same traffic.
Ultimately, I think I'm headed to a hybrid solution using a favorites list consisting of only the systems/conventional frequencies that I want to listen to with location control enabled - then let the GPS decide which are in range but I'll control the "departments" (police, fire, etc.) via quick keys. The are many times when I want to hear the State Police but not the local police and service types don't allow for splitting of police (Law) like that. For my local police, I generally only monitor for priority dispatches by taking advantage of the Motorola status bits (while I still can).
Everyone has their own preferences - from Full Database down to complete quick key/scanlist control. It's just a matter of how much time and effort you want to put into it.