You don't need to change the pin to high before you make it an input. Just switch from low to input, or just flip the apropriate bit in the tris register which is alot faster.
If there is a bus conflict and two slaves pull the line low at exactly the same time, the worst that can happen is some corrupted data. Testing the line twice a few microseconds apart could help keep two slaves from sending data at exactly the same time.