I would highly recommend this from Matrix Multimedia;
**broken link removed**
It involves a bit of a cash layout (£160) but for that you get yourself a comprehensive development board and a C Programming course to accompany it. You get taken through C for embedded microcontrollers from the ground upwards and by the end you'll have gained a very good foundation in C programming for PIC Micros. After that there's some PIC tutorials (explaining PIC architecture, special function registers, addressing etc etc) and then the most important part - the labs. Here you are taken through a course of developing applications for PIC Microcontrollers, with example code you can program the PIC with and see the results with the hardware on the development board. You start off right at the beginning (light and LED, then create a pattern of lit LEDs) and move upwards to switches, scanning key matrix's, interrupts and how to use them, timers, controlling LED displays, LCDs, the list goes on. By the time you've worked your way through that you'll be a PIC programmer, and the rest is limited only by your own imagination!
If you don't fancy C, there's also an Assembly course which is the same thing (same development board) but using an Assembly CDROM instead.
This is the kit I bought when I started out with PICs (except I had the older version) and if you're serious about learning to program MicroControllers I'd whole heartedly recommend it to you.
Brian