mplabx - it is free, it works great on win7 64bit, linux (fedora 13 64bit) and osx 10.6 (osx is missing c18 compiler) (works also great on xp but I have not tested it personally on xp)
what is problem with mplabx is that it does not support pickit2, looks like microchip guy's deprecated pk2 so they are not adding support for it in new tools. (pk3 is supported as well as ICD2, ICD3 and REAL ICE
for the guy with ICD2 - don't bother to get pk2, if you need usb to ttl serial, logic analyzer etc, better spend your money getting buspirate.. ICD2 is still supported (compared to pk2) and if my memory serves me well can do more advanced debugging then pickit2 (you can make some complex breakpoints etc) .. you might want to go pk3 but ICD2 should be enough
wrt ARM, for the new kids in the block I suggest checking out DISCOVERY board, it is under 10$ ARM Cortex M3 board with integrated debugger (ST-Ling spy by wire) so you don't need any external tools, just get that board and you have full dev solution for experimenting, it has all pins broken out on standard .1" raster ..
wrt ARM vs PIC in the 32bit region, great thing about ARM is that with newer cores (like cortex m3 for e.g.) all chip manufacturers share same core, so if you write code for Phillips and want to move to ST it is just matter of using different hw libraries for "other stuff" (like serial ...) .. great thing about arm is 7+ DMA channels, very versatile buses inside the mcu .. so stuff like "copy video from SD card to GLCD" are very fast and simple ... on the other hand, if you are doing a lot of bit-banging PIC has faster access to the GPIO's ... nice thing about arm is that gcc for arm is free, open source .. lot of ppl use it .. it works very good - on the other hand C32 limits free version to no optimization and gcc-c32 is still pretty young and miss a lot of options (but it will get there, hopefully, especially if mplabx takes in 2011)
wrt mips (pic32mx) you need pk3 to debug them but if you just want to flash them pk2 gets the job done. note that pic32 simulator is pretty rudimentary inside mplab, some major things dont get simulated properly ...
new version (beta4) of mplabx came few days ago and it has (different from beta3) the simulator (I tested with dspic and it worked like a charm)
just my 0.02$