The 16C73 is an antique OTP device, the datasheet is dated 1998
However, it has a reasonable amount of program memory (4K) so is more than ample for your program - but it is
VERY lacking in GPR's (RAM), only 192 bytes.
You can't add external program memory, or GPR's to most PIC's - you can add external storage, but you need to write routines to upload and download the data over the I2C bus to the EEPROM, but you don't have any I2C routines in the code above.
I would strongly suggest you get a more modern device, that is electronically reprogrammable, vastly higher spec, and vastly cheaper.