Pues creo que si, es necesario para convertir las señales TTL a niveles RS-232. Yo lo he usado y va muy bien... Claro que yo programé el PIC en C con el CCS picc compiler.
Para usar la comunicación serie con ese compilador basta con incluir lo siguiente en la cabecera:
#use delay (clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
Por supuesto esto cambiará dependiendo del reloj de cuarzo que uses y los pines que desees usar para enviar y recibir los datos así como la velocidad de envío.
Una vez realizada esta configuración, lo único que debes hacer es llamar a printf() o putc()... o cualquier otra función para envio de datos por el puerto serie, puedes llamar a scanf(), getc()... para recivir datos.
En cuanto al hardware, aqui tienes una página sacada del google:
Max232Espero que te sirva de ayuda.