Ke tal!!!bien como solo pides diferencias jeje primero decirte las paginas(que ya conoceras)que microchip dedica a estos dispositivos:
Para el 16F877A:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010242
Para el 18F442:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010289
Bien decirte antes que nada que si ya de antemano has programado en la familia 16 no te sera muy dificil migrar a la familia 18, ya que conoces mas o menos como funcionan la arquitectura de los pic"s, solamente tendras que tener en cuenta los perifericos del dispositivo d ela familia 18...decirte que mirando los data sheet asi un vistazo general las diferencias son estas:
Codigo:
16F877A 18F442
14,3K (BYTES) 16K(BYTES)
TMR0,TMR1,TMR2 TMR0,TMR1,TMR2,TMR3
Bueno y mas cositas que en los enlaces de arriba dan a los data sheet que te lo explican mejor que yo, encuanto a la programacion, en el data sheet de la familia 18 dice que los codigos de la familia 16 y 17 son compatibles con la 18...asi que si ya has programado con el 16 como dices no tendras muchos problemas...y simplemente mirate los enlaces de arriba!!!!