Programming IC's is a bit different than the programming you're probably used to, but the new material isn't too difficult to learn. If you're really interested,
a class would be most beneficial. Short of that, you should find a textbook that you can follow. Search for "embedded programming PIC microcontroller" on Amazon.com.
For simplicity, consistency, and cost sake, I'd recommend starting with Microchip's PIC line of microcontrollers.
http://www.microchip.com/
Hardware: Microchip offers
free samples of their IC's.
Software: (1) HI-TECH PICC-lite is a free C/C++ IDE that is specifically designed for use with microcontrollers. It has libraries of register information for the PIC line, and it has tools to help set up ports, fuses, interrupt subroutines, etc. It's not required, but it will help. (2) MPLAB is yet another IDE, but it is necessary because it is the one that is capable of programming hardware. It's also free.
Programmer: The ICD2 in-circuit programmer is the only thing you'll have to buy.
**I can't stress enough that a class or textbook is the place to begin. Otherwise you'll likely waste a lot of time and money.