>> so I can store the ID in the EEPROM or load it upon start up as a lookup table
Might be difficult to modify the program each time you program a new chip.
Maybe you could Poll the master (if there is one) for a new unique ID, and store that in EEPROM. Could be tricky if 10 devices all want an ID at the same time though.
The ID Locations (4 bytes) aren't much use on the 16F's. The program can't read them. You can only read/write them with a programmer.
On the 18F's (8 bytes), the program can read/write the ID's (with a little help).
Along with the Config words, this program can read/write the ID Locations too.
Added: And some programmers can auto-increment the ID's
Run-Time Config
http://www.picbasic.co.uk/forum/showthread.php?t=4093
Bookmarks