The problem with wires 100-200m long is that they make very good antennas and will pick up all kinds of noise which generally will make things difficult at the receiver (Arduino) end.
Similarly 100-200m of 22 or 24AWG wires will have a reasonably high resistance and probably high capacitance to ground as well as and each other and a large inductance too… all not good for sending information over long distances.
Encoding information via resistance values might work but could prove unreliable due to noise picked up in the wires acting as antennas. You’d need to make the resistances involved small as a high resistance will cause the noise to induce higher voltages due to small currents induced in the wires. However small resistors mean small voltages available the signals you want to detect.
This method might be able to be make to work for a couple of switches but will be no good for sending serial data, so this method is not advisable if you are looking to send information at any reasonable data rate.
The best solution for transmitting data over long distances is to use a differential signalling system and twisted pair wires, eg CAT-5 network cable. Differential signals are ones that don’t encode the signal as a voltage relative to ground (eg 5V = ‘1’, 0V = ‘0’) but encodes the signal as the difference between two signals (eg Va - Vb > 0 = ‘1’ and Va - Vb < 0 = ‘0’).
Why is this? Have a read of this : http://en.wikipedia.org/wiki/Differential_signaling
Basically using a differential pair provides better noise immunity than single ended signals (like RS-232) and will work over much, much longer distances. RS-422 and RS-485 are differential standards for serial data which can operate up to around 1200m at 100kbit/sec.
So you could use twisted pair cables (CAT-5 network cable contains 4 twisted pairs) a differential transmitter at the source end and a differential receiver at the receiver end for each signal and you should experience no problems at all.
For proper operation you need to match the characteristic impedance of the wire (approximately 110 ohms for twisted pairs) at the end of the wire, usually by putting a termination resistor connecting between the pair of wires at the receiver end. Note that the characteristic impedance is not the DC resistance of the wire, but a fundamental property of the wire.
The 26LS31 and 26LS32 are cheap differential transmitters/receivers, you should be able to find them for < $1 each and you can twist wires together to make twisted pairs if need be.
If the number of wires is a concern you could use one Arduino at the switch end to read the switch states then and convert it to serial data and send that via 2 wires (ie a differential pair) to another Arduino to decode the switches.