Usando un PIC16F876A, con un clock de 20MHz, funciona con la siguiente configuración:
USE I2C(master, SDA=pin_c4,SCL=pin_c3, slow)
Ahora con el PIC18F4550, con la configuración que mencione anteriormente (la copio de nuevo), no funciona
USE I2C(master, SDA=pin_b0,SCL=pin_b1)
Lo intente con y sin la opción SLOW.
Con ambos PICs uso resistencias de pull-up de 2k2.
AngelGris, leyendo un poco sobre lo que mencionabas de trabajar vía hardware, use la opción noforce_sw, pero tampoco funciona...