Pues vaya faena... que te hagan investigarlo y luego te digan que no. En fin, jefes.
Por otro lado, intentando hallar una solución a tu problema. En el caso del PIC16F876A el PORTB tiene una peculiaridad. Me imagino que en tu PIC también esta así que échale un vistazo y nos comentas, aunque sea sólo por gusto y no por trabajo.
La característica es que el PORTB si varía produce una interrupción, como cuando hacemos un teclado matricial. ¿Sabes a que me refiero?
Imagínate que tienes el PORTB de la siguiente manera (PB- 0,0,0,0,0,0,0,0 - PB7). Creo que solo era en las cuatro líneas de más peso, pero bueno, nos da igual porque nos sirve. En caso de que PB0 se ponga a 1, producirá una interrupción, si PB1 se pusiera a 1 aunque PB0 también lo esté volverá a pedir interrupción y así hasta PB3 (creo que solo eran los 4 BITS de menor peso en el caso del 16F876A, mira a ver en el tuyo si tienes algo parecido...).
Me parece un poco raro tu jefe... jajajaja te dice que te hagas eso, sin hacerlo por software y sin añadir circuitería o componentes externos. Mándalo a tomar fanta
Un saludo
AÑADO:
Por otro lado... la única manera de hacerlo mediante software sería indicándole un tiempo (menor que el DUTY CYCLE del primero, o el anterior al que quieras solapar) a un TIMER para que produzca una interrupción y active la salida. el TIMER correría en segundo plano dejando libre al micro y en la interrupción gastarías no más de 4 ciclos de reloj (400nanosec). El desvío sería mínimo y podrías ajustarlo en el TIMER clavándolo casi a la perfección. El PIC solo estaría procesando cada 400 nanosegundos y el resto del tiempo podrías seguir con el programa.