Do all I2C devices have separate read and write addresses?
The first byte sent on the I²C bus consists of the 7-bit address, and one bit to indicate read/write.

All devices work this way, but strictly speaking, the address is the same.