Veamos... mediante lenguajes de alto nivel, puedes hacer que se emule la USART, y enviar datos serie por cualquier pin.
Para enviar datos serialmente, no te vale conectar el DB9 a 9 pines del PIC. Para nada. Debes tener en cuenta que el DB9 maneja unos niveles de voltaje completamente diferentes, por lo que se precisa de un IC o una circuiteria que adecúe los circuitos. Usa el IC MAX232 junto con 4 capacitores, asi solo necesitas 2 pines para transmision-recepcion serial.
O sea, 18 pines necesitas. Con las indicaciones dadas, no tienes problema para usar el PORTB y el PORTC para los 16 pines como entrada (recuerda usar pullups).
No te desanimes, las transmisiones seriales son mas simples de lo que crees.
salu2
PD: Si un mazapan de 17 años como yo pudo... por que no tu?? jejejje