I'm afraid (to the best of my knowledge) you will not be able to run code from external memory or from RAM. Your best bet is to place all the memory heavy arrays/tables into external EEPROM and use the PICs ROM space for code alone. Even so, the extra time needed to store/retrieve entries from the EEPROM will slow down your processes.