Fastest time a PIC can set and clear a pin
If you're using a 20MHz crystal, that means you have 5MIPS (5 million instructions per second), because internally the 20MHz is divided by 4. 

That means that one instruction takes \$\frac{1s}{5000000} = 200ns\$.

You can achieve what you want in assembly, like this:

bcf PORTB, 2   // Sets the pin state to 0
bsf PORTB, 2   // Sets the pin state to 1
bcf PORTB, 2   // Sets the pin state to 0


This shows that changing the pin state takes one instruction, therefore the minimum time the pin would be on is 200ns (if you clear it directly again).

I only have experience with PIC16 and PIC18, I'm not sure about dsPIC, PIC32, and all other varieties. But in general, if you know the number of instructions per second (you can calculate it from the oscillator configuration), you can calculate the minimum on-time, as you say it.