Despues te comentaba otra posibilidad,la de conectar un segundo cristal/oscilador externo al pic para el timer, por ejemplo te genera una interrpcion cada segundo, despues es cuestion de contar segundos, minutos, horas...
En lugar del 16f84, que es un micro obsoleto y poco funcional, o del 16f88, con conversor analogico-digital, puedes usar el 16f28 o 16f648 como mejores opciones, la diferencia entre estos dos estriba en la memoria, aunque para tus necesidas con el 16f628 vas sobrado.En estos micros puedes usar el rtc, o el metodo de un segundo cristal para la generacion de interrupcion cada segundo.
Si las necesidades de exactitud son menosres, puedes usar un micro de la serie 12F.
Para programar yo te recomiendo C, mas rapido para crear aplicaciones, y al ser sencillas no es necesaria una gran optimizacion de la memoria disponible.De Niple no te puedo decir nada sobre su optimizacion, pero date cuenta que a mayor abstraccion menos optimizacion.