ICSP - how to isolate a pin
Short answer: your transistors are not right, and you don't really need the Arduino.

Option #1:
The PGD pin will be tri-stated (made input) during programming. So the programmer will end up driving PGD as well as whatever is connected to it.
Your programmer just might have enough current capacity to drive the load (LED) at low speeds, so you can go with just direct connection.



Option #2:
Buffer the output from the PIC using a transistor so that the programmer sees a very light load. This has the side effect that the LED will flicker during programming, but I'd do it in the interest of simplicity.



P.S: In circuit editor was just way too slow so used pen and paper.