RAM en PCB depende de la velocidad que quieras tener.
Microchip vende memorias SRAM y NVSRAM (podes mantener los datos con bateria ) de hasta 20Mhz, y se puede acceder con el SPI.
Esto quiere decir que para leer un dato son 24 ciclos de reloj para el setup el puntero de memoria (instruccion + 16bit adress) y luego de ahi en adelante son 8 ciclos de reloj por cada dato, si los lees secuencialemnte te ahorras esos 24ciclos al comienzo. El tema es que tu SPI deberia llegar a 20Mhz.
http://www.microchip.com/pagehandler/en-us/products/memory/serialSRAM/home.htmlCon lo cual tal ves necesites del array copiarlo al PIC, una parte mientras la otra se recibe si es que la usas en orden..
si es un acceso aleatorio si vas a necesitar mas velocidad podes buscar algun otro con acceso paralelo o como dijeron convenga mas cambiar de micro y te olvidas de todos esos problemas. Lo que lo hace mas simple y menos componentes y tal ves mas economico
Mi pregunta, ahora que veo lo que ocupa es: por que no directamente en la RAM? Tanto ocupa de RAM tu programa?
101 lugares de 24 bits, 2Kbits o 303 bytes
El 18F2455 tiene 2048 bytes de RAM..., 1024 que no son usados por el USB, supongamos que usas el USB y este te utiliza esos otros 1024 bytes (creo que no se puede cambiar), te quedarian 721 bytes , No es mucho pero algo es algo

Si no queres cambiar mucho tenes el PIC18F25J50 tiene un poco mas de Flash (de 24k a 32k), tiene 3776 bytes de RAM (aunque crece la RAM del USB no se como se puede cambiar esto), y es mas barato que el modelo viejo que pasaste
http://ww1.microchip.com/downloads/en/DeviceDoc/39931d.pdfCreo que es compatible pin a pin si se remapea correctamente. Al menos todos los puertos, pines de alimentacion, USB, MCLR estan en el mismo lugar. con respecto al PIC18F2455