I have seen 16 slot programmers before used in factories and lots of chips are easily programmed on the board using test pins.
For things like calibration data on chips like the PIC it is possible for the firmware to change parts of the code that are stored in the flash. If you know the location in flash where the calibration data is located you can change that data and have it run using the new data on reset. This isn't like changing eeprom data, this is changed in the flash of the code that actually runs. So a variable that might be written as x=32, could be changed to be x=24 by modifying the hex value stored in the firmware. Eeprom would be easier to manage but there are lots of chips in use that don't have eeprom, just flash. Microchip refers to it as self modifying code.