I have done the routine you intend using an SD card for but I used on board EEPROM (18F452).

The data in the EEPROM could be changed within the program using keypad and serial LCD display.

However to place the initial data into the EEPROM I created a program just to do that thereby saving code space. But you are thinking in terms of "code"?