CAN has a lot of advantages.
I tried to link together two PIC18 in I2C and with that kind of MCU was impossible set one as "I2C master"
Not sure what you mean. I link PIC18's together using I2C all the time... either using one as master and the rest as slaves or multi-masters (which is a lot more involved).
The I2C slave code is very different from the master end.
Oh, and thanks for the library!