To honest it seems pretty obvious that it's difficult to do ICD on an 8 pin chip, by the time you've wasted the ICD connections there's hardly any pins left!. Historically MicroChip used to provide special chips for ICD (as none supported it by default), presumably the 12F629-ICD is another one?.
No, 16F628A DOESN'T have an -ICD variant. You are told to use 16F648A-ICD for debugging 627/628/648 programs. These parts are essentaily the same, only the memory sizes differ.
I guess it is much cheaper to produce only one type of -ICD device instead of three.
It is true, that SSP and AUSART modules share two Pins, but they belong to SPI functions only. I think I2C and SCI interfaces can be used simultanusly. Check the datasheet.
The '628 and '628A INTOSC is plenty stable and accurate enough for serial I/O. Have you run into problems with them?
If you need to run the '88 as an IC2 "master" you'll have to bit-bang it (no built-in "master" capability except in devices with an MSSP module) and you can use any pins for that.
I've got a home-brew 16F87/88 bootloader if you're interested (a tight fit in 256 words).