Well there are plenty of examples in assembly language that work without much modification. Even most of the old code for the 16F84 will work with only a few modifications. You can also use MPLAB for free which helps.
I haven't played too much with C but examples aren't as easy to find and there are a number of toolchains. As far as I know, they aren't free.
You'll also get a better appreciation for the hardware if you use assembly, so perhaps start there and work up to C on some of the bigger devices.