Единственные 8-разрядные ПОС, которые могут использовать внешнюю программную память, являются высокопроизводительными частями серии PIC18F - всего 64-контактного или более.
Если значительная часть вашего размера кода состоит из текста или других данных (а не фактического кода), вы можете сохранить данные на внешнем SPI или I2C EEPROM. Это будет намного медленнее, чем наличие данных внутри, и менее удобно использовать - вам придется вручную отправить адрес, а затем прочитать байты из внешнего чипа, вы не можете просто получить доступ к данным в виде массива.
16F877 - довольно старый чип - в наши дни вы можете найти тех, у кого больше возможностей. Быстрый поиск по Microchip's part selector включает в себя несколько микросхем 16F с удвоенной памятью программ, например 16F1789. Если вы захотите переключиться на более мощную серию 18F, вы можете снова удвоить память программы - например, 18F4620.