I know it is possible with a I2C or SPI interface EEPROM. You can use that memory for map storage, datalog, something like that.
I also know that the OOPIC controller has an interpreter onboard the PIC and when you download your program, it stores it in an external EEPROM and at running it reads the code line by line and executes the instructions. Unfortunately, this method adds a lot of overhead to the execution of all instructions, so this is why some things that require a very short amount of time can't be used with OOPIC (for example, the Ping))) sensor requires a trigger signal of 5 microseconds, impossible to generate with the OOPIC).
I think I have seen something on the Arduino website about interfacing with a SD memory card or Compact flash card...