Using PL2303HX module to program PIC
I just took a look at the datasheet for the PIC18F4550 (link). It does support EUSART (Enhanced Universal Sync/Async Receiver Transmitter), thats what they call it I guess. You would simply have to setup transmit and receive (pg 244, 245) properly. Setup your baud, enable transmit/receive, etc. Then hookup your PL2303HX and you should be set.  Specifically pin-26 and pin-25 for the 40-pin pdip diagram.

Some advice seeing that you are new to this stuff. Get a microcontroller with as much timers as you can afford (higher bit timers i.e. 16-bits are ideal). Also be careful of the suppliers you buy from, some of them sell after market parts that may have different vendor/device IDs that will render them useless unless you use their programming software. Also buy 2 of those TTL receivers, you will need it when the other burns out.

Hope this answers your question.