I have the same problem as you were facing. I am using a PIC18F25K22 which is a 5V Controller with NXP's PCF2129A RTC which runs on 3.3V have used PCA9306 for voltage translation can you please tell me what were the code changes in PIC you did to run your system.
It would be of great help
Well, I used two different translators. With the PCA9306 things weren't working because PIC wasn't recognizing the zeroes.
In between tests I bugged the PIC's code so the I2C wasn't functional anymore but I didn't noticed because well, the thing wasn't working anyways. Can't remember what the bug was, but it was something major like a complete misconfiguration of the SSP.
Then I switched to TXS0102. The voltage levels for 0's were smaller and I thought the PIC would have to recognize them, but it didn't because of the software bug. I corrected it and things started to work.
Then I switched back to PCA9306 to try and see why the hell I had such high 0 voltages and I found the initial hardware bug. I had mistaken the pullup resistors on the arduino side and they were far too large. Switched them to 1K and all worked fine.
So try and place some external pullpups in both the PIC side and in the PCF side, tied to the proper voltages on each side. Seems like the PCA9306 requires strong pull-ups in both sides to work.
Anyways, my I2C bus was loaded with 4 devices so that might have also contributed to the effect.