Hola, te he realizado un diagrama, para que interpretes, como hacer..
La demora, la cargas con un registro, en este caso yo la llamo RETARDO
Retardo es el contador, que se incrementa con un pulsador, y se decrementa con el otro
(tendrás que verificar los limites, es decir, que hacer si llega a cero, y que hacer si llega a 255)
Empleo un par de bits, como banderas o memorias, para que actúen como antirrebotes.. es decir, al pulsar, marca la memoria, y luego si está marcada, espera que suelten el pulsador (btfss btfsc), e incrementa o decrementa el registro RETARDO
De esta manera, el programa se mantiene ejecutando, generando los pulsos, aún cuando se mantiene pulsado
Te paso un esquema, solo un pulsador, el otro es similar, con otros nombres en las memorias ...