So if both the PIC and AVR generate the START condition at exactly the same time, no collision is detected. Arbitration happens when the transmitted bits differ.
For example, if the PIC sends a '1' and the AVR sends a '0' at the same time, the PIC loses arbitration and the AVR wins. The first different bit determines the winner.
One more question. Suppose we have one master (PIC) and two DS1307 devices connected on the same I2C bus. If the PIC generates a START condition and sends the slave address, and both DS1307 devices have the same address, what happens? Will both devices respond with ACK and drive the bus at the same time? How communication will happens ?