El ICD-2 original, no utiliza el puerto rs-232 del pic16f877 cuando esta conectado por USB, eso lo hace mucho mas rapido, utiliza el portd y un adaptador paralelo a usb, hay un firmware para un 18f4550 que lo unico que hace es convertir el serial a USB, igual que lo hace el FTD232, para poder usarlo con MPLAB hay que configurar el MPLAB para que se conecte con el ICD-2 a traves del puerto serie que emule el driver del FT232, o si se usa un 18f4550 el driver que provee microchip para esto, lo ideal seria diseñar el firmware para eun 18f4550 que emulara al adaptador paralelo-usb que usa el ICD-2 original, con respecto de migrar a otro microcontrolador que no sea el 16f877 o el 877a, pues creo que habria los unicos que podrian hacerlo serian los que diseñaron el ICD-2.