Switching at 300nS would produce a baud rate around 1,500,000 bps. Maybe you meant 300uS which would be 0.5/0.0003 =1,500 bps as it takes two transitions per bit.
Also check bit 4 of register BAUDCTL on the 16F886. I've not tried this but it suggest you can send inverted data but not receive!! Very strange feature to add.
The other first one would be my choice since it seems safer heh mainly because there is no straight connection. I only need Rx tho so its even smaller heh...
It will not hurt the pic or the computer but it only works with software. picbaisc pro has a simple command that lets you use it.
I've done the same as mike pomme posted with just plain transistors don't even need the fets
They will work better I think then a 2n3904 but there 3 time higher I got 400 some where cheap there on a row and some Bc250 the fets are good if you have them some times hard to find.