I don't know, if the ICD 2 is still supported by the new MPLAB-X. When I open the project properties, I can only see ICD 3:
When you change the PIC, you can see which programmers support it. Too bad that many of the new devices are not supported by the old PICkit2, which is only a limitation of the IDE, the hardware could still program it, for example the PIC32 is not supported in MPLAB-X with PICkit2, but it is no problem to program them with
pic32prog with it. Well, I have a PICkit3, too, works reasonably well, just needs sometimes longer, when it changes the firmware when selecting a new PIC, which is a really silly design. But debugging works as well, so i don't complain. I guess the ICD 3 will support most chips as well.
For new PICs, take a look at for example the PIC16F1823 (and PIC12F1823 in 8 pin packages). They are cheaper than some of the old PICs, but have some very nice new peripherals, like the CapSense module, which I
tested recently, or auto-baud detection for the UART module, and they run up to 32 MHz with an internal clock. And the 16 stack levels, even for the PIC12F1823 devices (same "enahanced mid-range core"), makes it much easier to write larger structured programs in assembly. But I use them most of the time in C, works pretty well.