Si necesitas más de 20 patillas de salida te puedes ir a una solución simple como trabajar con un micro que disponga de ellas, como el 16F877, que va de sobra.
O también a una más compleja, que es la multiplexación. En este caso, imagina que dispones las 24 luces en una matriz de 8 filas y 3 columnas. Cada columna la enganchas a una patilla del PIC (con la intermediación de los transistores que necesites para conseguir intensidad) y cada fila también, aunque las filas con lógica inversa, es decir, se convierten en masa cuando hay un 1 en la salida del pic y quedan flotantes en caso contrario.
Hasta ahora has gastado 11 patillas del PIC, y no vas a necesitar nada más.
Para que estén todas las luces apagadas, sacas 0 por las 11 patillas. Para encender una luz, tendrás que sacar un 1 por la fila y columna correspondientes y sólo se encenderá esa luz. Esto lo harás varios miles de veces por segundo y te puedo asegurar que cuando lo veas funcionando no pensarás que está multiplexado.
De todas formas, la primera solución es más cómoda de programar.