Hola, creo que el mejor metodo, seria emplear una especie de matriz de diodos, ya que los pulsadores serian diez ¿?
entonces los trabajas en BCD, con solo cuatro lineas, que entran a los pines del puerto a, cun 4 resistencias Pull Up
cada pulsador , tendra conesctado diodos formando su codigo correspondiente al nivel de cada linea, es decir, PULSADOR UNO-UN diodo al peso !
pulsador dos-un diodo al peso 2
pulsador 3 -dos diodos, peso 1 y 2
pulsador 4- un diodo peso 4
0000 - cero
0001 - uno
0010 - dos
0011
0100
0101
0110
0111
1000
1001 - nueve
es decir, donde hay un uno, iria un diodo a la linea de entrada
luego lees el puerto, movf porta,w
y con el valor obtenido vas a una tabla, que saltara a tomar los valores a encender del puerto b....
creo que si "la base esta" entenderas cual es la idea.... sino, para eso estamos!

suerte!
Norberto