Yo personalmente te recomendaria usar C en vez de ensamblador y mas concretamente el CCS que es muy facil de controlar, pero esa decision es tuya.
Si vas a usar el Timer0, lo que debes de hacer es buscar los parametros para que el timer0 te calcule los segundos. Ello va a depender de la frecuencia del cristal.
Por ejemplo
Si usas un cristal de 4MHz tienes un ciclo de reloj cada 0.25uS y un ciclo de instruccion cada 1uS y el timer0 desbordara cada 256uS, para generar 1 segundo el timer0 debe desbordar 3906.25 veces, por lo que el timer 0 debe desbordar 3906 veces completas y el ultimo debe ser precargado con el valor 192.
1S = 0.000256 * 3906 + 0.000001*(256 - 192)=0.999936 + 0.000064 = 1 Segundo
Esta es la teoria
Si aplicas algun prescaler puedes hacer que el numero de desbordamientos sea menor.
Si usas el prescaler 16, el timer0 desbordará cada 0.004096 por lo que tendra que desbordar 244 veces y precargar a 220.
No se si he conseguido aclarate algo o liarte aun mas, pero si no te queda claro te lo explicare con mas detalles.
Con respecto al control de la lcd alfanumerica, hay una libreria llamada flex_lcd.c que es muy buena y controla cualquier modelo de forma muy simple.
Saludos