Si necesitas un array de ese tamaño, y no te sirve colocarlo en flash como te sugirió tartisa. Definitivamente tienes que pasarte a otro PIC. Te recomiendo que uses el PIC18F452, tiene el mismo Pin-out que el PIC16F877 pero tiene mucho más memoria RAM. El 877 tiene 368 bytes de RAM, mientras que el 452 tiene 1536 bytes. Acordate que cuando declarás una variable tipo float, te ocupa 4 bytes por cada elemento del array. Así, que sólo tu array de 50 elementos, ocupa 200 bytes en RAM. A eso, tenés que sumarle todas las otras variables que hayas ocupado, más las variables que te gasta en implementar el stack o las variables locales.