Inside rc.local we call another script: /usr/local/bin/configme
So configme is run every time the system boots up.
Inside configme we do something like this (syntax is probably garbled: this is from memory) to test to see if the file exists and is executable:
if [ -x /somedir/config.$HOSTNAME ]
Since we tie the hostname to the geographic location of each system (which also determines some of its functionality) we pull the hostname out of /etc/net.cfg before doing this test in configme. Then, if there is a file named config.$HOSTNAME it runs it and sets up the configuration specific to the location tied to that hostname.
This is probably more convoluted than it absolutely needs to be, but it does work.