ok here goes:

1) Is there any way I can use the hardware communication of the 16F877a (USART, SPI etc) to communicate with a 16bit ADC, which wants to send its data as words.
2) If not, is there any way of controlling servo motors without using portB. For example can I somehow make my PIC accurately control pulses of 10 microseconds or so, without using the pulseout command (which is tied to portB only).

That’s basically it.