Sensible standard wiring type for long-range I2C
I2C is in some ways a very neat protocol, but its design purpose is to interconnect devices on a single board.  Even beyond issues of signalling levels, there are some protocol issues as well which may pose problems when using it for multi-board communications.

For example, suppose that two slave devices are connected that would both allow a master to read an arbitrary number of bytes, and which may return zero for an arbitrary number of those bytes.  If while one device is sending data to the master a second device mistakenly interprets part of the data as a "START" sequence followed by its read address, it would be possible that for every clock cycle thereafter at least one of the devices would be wanting to output a "0" data bit.  Such a scenario would make it impossible for the master to ever regain control of the bus.  While it's possible to design single-board communications such that stray pulses "just won't happen", that's often not feasible when connecting many devices.  One may try to minimize the likelihood of stray pulses occurring, but should not expect to avoid them totally.  Having a sensor reading get corrupted once a month because of a stray pulse may be acceptable, but having the system lock up once a month would likely be less so.

If you're using a single-master setup, I would suggest that it may be worthwhile to use separate wires for SDA out to the slaves and SDA return.  If the slaves are using handshaking, it may be worthwhile to do likewise for SCK.  The master's output could then be driven actively high and low (rather than being actively driven low and passively pulled high).  If the connectors had designated "in" and "out" sides, each board in the chain could "AND" the return from the previous device with the pin state of its own device, and output active high-and-low in the return direction as well.  Such a design would likely require use of a bit-bang master rather than a hardware master, but given that software-master implementations can often manage better error recovery than hardware masters that shouldn't be much of a limitation.

In addition to the improved robustness resulting from active-high/active-low drive, using separate output/return wires for SDA will avoid the possibility of one slave device interfering with the master's attempts to get another device to shut up, since even if all but one slave device wanted to output low on SDA, the master would have no problem generating a low-to-high transition on the SDA pin of the last remaining slave.

If you don't want to use the extra wires to separate SDA out from SDA return, it would be possible to wire the slaves so that their pull-down strength on SDA was limited, and wire the master so that it could safely overpower the slaves.  That would allow clean recovery in case of slave malfunction, but would not offer the signal-cleanliness advantages of using separate wires.  Further, it would only work well if handshaking is not used.  Robust I2C operation requires that transitions on SCK and SDA be separated by a time in excess of the worst case transmission skew.  If the master is in sole control of SCK, it can ensure that.  Slaves which use handshaking, however, may asynchronously generate events on SCK and SDA, with no way for the master to control their separation.