It is my personal opinion that everyone should stop using the OLD 16F's completely.
If you've already designed something with them, they will be available for a long time, so keep building those products with the old stuff.

But if you liked the 16F's, and are designing something new, move up to the 16F1 (enhanced core) devices.
They are so much better than the OLD stuff.

To replace a 16F877A, use a 16F1937.

32Mhz Internal oscillator
16 Level Stack
16 channel Capacitive touch sensing module
Integrated LCD controller
5 CCP modules
5 Timers
A built in 555
All the normal stuff too ... EUSART, MSSP, Comparators, ADC etc.