There are a few Linux PIC tools, if you look at
http://www.piclist.com there are some links there. However, Linux support if VERY! limited, and none from MicroChip of course.
Personally I never bother with ICSP, it makes your target circuit more complicated or limited - it's easy enough to unplug the PIC from a ZIF socket on the programmer, and place it in a socket on the target board. To facilitate this I fit all my working PIC's with turned pin sockets, this prevents any damage, and makes then very easy to get in and out of the target socket.