Hola foso, efectivamente el ICD necesita microcontroladores, y lo digo en plural, porque usa 2, un 18F4550 para la comunicación USB con el ordenador, y un 16F877 para el tema del debugger. Esta claro que si te armas tu un ICD casero necesitarás otro programador para programarlos, ya sea usb, serie o paralelo. Pero claro, si te lo compras, ya vienen todos programados.
No recuerdo la página donde vi el esquema, pero hay varias, y según decía la gente, les funcionaba bien. El mio me lo compré ya hecho, ya que el principal problema, como tu bien dices, es que te hace falta otro programador para programar los PICs del ICD.
Un saludo.