You can use coding and use a single resistor in series, for short distance between your PIC and the PC you shouldn't have any problem.

Problem is most PIC USART/EUSART don't allow to drive in inverted mode, hence why you must use a MAX232 or else kind of level inverter.

USART/EUSART allow more rich feature than a 100% software solution.

18F4550 is a USB PIC but it also have a EUSART, so yes you can build it yourself, how? well... sure you will find few schematic here and there.

I take this one from Bruce's website


http://www.rentron.com/PicBasic/MCS_X3.htm