EEPRom is non-volatile, has good rewrite endurance, and can be written and erased in "fine grain". Lately, it's probably flash since flash is cheaper, but flash has to be erased in blocks and has less write endurance I believe.
Registers are numbers stored inside a microprocessor while it's operating- not mass long-term memory. Harddrives are big and bulky but have tons of space and are mechanical. RAM loses it's data when powered off.
The EEPROM in the PIC is meant not as memory for the program, but is meant to store things "operating settings or calibration" that are more permanent than RAM, but less permanent than the program code.
Let's not forget it's also easier to stick EEPROM than a harddrive into a chip. Some of the new dsPIC chips don't use EEPROM for this anymore- they use flash instead.