El esquema esta bien, hay unas cosas a cambiar
Si es un bc547 podes ponerlo directamente (solo 1 resistencia de base), ya que la maxima tension de Base-Emisor es de 6V
Con una resistencia nomas en serie con la base, ( es decir sola la resistencia que esta horizontalmente en tu esquema) bastaria. Resistencias de 1K.
Igual las resistencias R11/12/13/14, no veo una razon para que esten puestas alli, solo como pull-down pero la salida del PIC lo pone a 0m asi que se podrian omitir tambien.
De todas maneras la patas 1 3 15 16 y 18 antes conectaban con el anodo de los led y ahora conectan con los catodos, eso esta bien?.
No importa. o podes conmutar el Vdd o Vss , segun como quieras. Lo que si ahora la logica para encender los leds, es que vas a tener que poner un 1 para encenderlos y un 0 para apagarlos.
Y la multiplexacion es simple, trata cada transistor como 1 seccion. Para encender todos los leds lo que haces es .. poner el dato en el puertoB, encender el primer transistor, esperar un tiempito, apagar el transistor1, cambiar los valores del puertoB correspondiente al transistor 2, encender el transistor 2, esperar un ratito.. y asi.. Si es rapido no vas a notar que se encienden y apagan. Si lo estas simulando ese tiempito a esperar se lo tenes que quitar, en fisico lo vas a tener que poner. Lo haces con delays o timers eso va a depender de tu programa.
Resumen:
Apagar el transistor que encendimos la ultima ves
Cambiar el valor del puerto
Encender transistor que corresponde
Espera
Asi para cada transistor, "seccion", grupo de leds, como quieras llamarle xD