Hola luchoc, perdona la demora, esta es mi opinión:
Primero: Deja de osar el 16F84, es un PIC caro y bajo ciertas condiciones se le corrompe el programa y deja de funcionar hasta que vuelvas a programarlo, en su lugar puedes usar el 16F628 que aparte de igual o menor precio tiene muchas más posibilidades
Segundo: si necesitas un PIC de más pines pueden pasarte al 16F870, no mucho más caro que el 16F84 y es un PIC de 28 pines.
Tercero: El CD4511 es de tecnología CMOS, por lo que no es muy compatible con el PIC, por lo que te recomiendo pases a un integrado de la familia TTL, el 74LS48 tiene la misma distribución de pines y funciona de manera muy similar. Y es 100% compatible con un PIC.
Con respecto a los circuitos que estás implementando, pues los veo muy complicado y poco eficientes. Si deseas el uso del CD4511 (74LS48) te recomiendo el siguiente:
El circuito es muy sencillo de comprender, el 74LS48 puede ser reemplazado por el CD4511, pero no lo recomiendo. Uso los BC337 porque en el mismo tamaño de encapsulado que el 2N3904, soportan el triple de corrientes que este último, y por el mismo precio.
Los TIP125 en tu caso no creo, pero a veces deben estar montados sobre disipador.
Claro está que este circuito es para display bastantes más potentes que el que tu estas por implementar, pero un poco de potencia extra nunca está demás.
Los display a usar deben de ser de ánodo común, pero como nosotros (en realidad tú) puedes implementar cualquiera de ambos, es lo mismo.
Por supuesto con este circuito se usa el multiplexado para el refresco de los display, y el programa es muy similar al que ya posees, la diferencia principal esta en el circuito de control de los display.
Si no deseas usar el 78LS48 (CD4511), puedes usar el circuito de a continuación, es igual al anterior, pero la función de "decodificación" debe de ser implementada dentro del mismo PIC, por supuesto usa algunos pines más de este, pero el circuito es sustancialmente más sencillo de implementar. Este sería ideal para usar con el 16F870:
Verás es muy similar, por supuesto el programa se complicará levemente, pero justifica la sencilles extra del circuito y a la hora del diseño de la PCB.
Con respecto a la fuente a usar, pues te recomendaría una fuente de las comunes (con trafo) que la construyas tu mismo, y con una tensión de alrededor de los 18V para alimentar a los display y 5V para la lógica de control.
El uso de una fuente switching en este caso no te lo recomiendo, porque igualmente deberás de realizar una fuente para reducir la tensión a los 5V necesarios a la lógica y este tipo de fuentes ya es más complicado encontrarlas con tensiones de alrededor de los 18V. Aparte la vida útil de estas es muy inferior a las realizadas de manera tradicional.
Espero esté más claro el tema, cualquier consulta solo tienes que preguntar, y perdona el retraso en la respuesta.
Un saludo.
Atte. CARLOS.