Justamente no necesitas eso... es absolutamente insolito, mala programacion, etc, cambiar eso por algo asi:
void CambiarPuerto(short int x) {
PORTB = tabla[x]; // Muestro el valor nuevo
}
Por que simplemente es MALO.
Como ves son 5 lineas ( podrian ser 4 lo cual te voy a mostrar luego ). las cuales lo unico que podrias meter en una funcion, complicando las cosas seria estas 2 lineas y una funcion de "setup":
contador++; // Aumento el numero en 1
if(contador==10) { contador=0; } // Si se paso a 10, lo pongo en 0
Creando una funcion para "aumentar" el numero ese. Pero aun asi, si quisiera lo hago es una linea a ese codigo:
if(++contador==10) { contador=0; } // Aumento en 1, Si se paso a 10, lo pongo en 0
Respecto a la funcion de "setup" o configuracion inicial, crear una funcion que tenga estas 3 lineas:
TRISA = 0xFF; // Puerto A como entradas
TRISB = 0; // Puerto B como salidas
PORTB = tabla[0]; // Que el display comienze con el valor de 0
Nuevamente complicando las cosas, por que estarias agregando como minimo 3 lineas mas al codigo haciendolo menos legible.
Pero bueno, vos elegis, yo te dejo el codigo.