IOC is Interrupt On Change.
It can be used to trip an interrupt (and wake the PIC up if it's sleeping) when the state of a pin changes.

PBP will not support 32kHz operation. It will RUN the code of course but anything software timed (PAUSE, SEROUT, PULSIN, whatever) will be off by a factor of a lot.
You can DEFINE OSC 4 while still running the PIC at 32kHz but a PAUSE 100 for example will in fact turn into a 12500ms delay. If that's not an issue then it's perfectly fine.

Another option is to use 32kHz for the most part and then switch to 4MHz (or whatever) when you need to actually do something important. But of course, if you're not doing anything and you're looking for the lowest possible current consumption then you need to put the PIC into sleep mode and only wake it up when needed.

/Henrik.