La principal diferencia entre el PIC 16F84A y los 16F628 y 16F648 a la hora de programar, está en que estos últimos tienen una serie de comparadores en el puerto A que se necesitan configurar previamente antes de poder usar esos pines como entrada o salida.
Si usas assembler para programar, tienes que tener en cuenta el cambio de Bancos en ciertas circunstancias y algunos otros etc.
Pero en definitiva nada mejor que leerse el datashet de Microchip para ver cuales son las posibilidades de estos dos dispositivos.
Si programas en lenguaje de alto nivel supongo que muchos de estos detalles serán solventados por el propio intérprete.
Finalmente, coincido con Aitopes y jfh900 de que los sucesores naturales serían los mencionados.
Salud