"Regular" noise won't cause a crash/freeze (unless there's something wrong with your code). But, "bad things" can happen with high voltage noise spikes. A resistor & "protection diodes" should take care of that. But, if you're getting enough voltage to crash the Arduino, you'll also get false triggers.
Run the Analog Read Serial Example to see what kind of noise you're getting.
[qutoe]see is that in use there is 100 ft (30 meters) of wire to 6 analog inputs. The device is simply sensing the contact between the ends of those 6 wires, and tells which two wires are currently touching. [/quote]Contact/no-contact is "conceptually digital", not analog. (I understand what you're doing and I've seen it done before, but it kind-of bugs me when people use analog when they really want digital.)
Since I have to determine which two wires are in contact, each Arduino analog input has a voltage divider of total 1 MOhm
There is no need for a voltage divider (unless you haven't told us everything) and there's no need for such a high resistance. Try a 1K pull-up resistor (with "contact" pulling down to ground). The lower resistance will probably solve your problems (and you probably won't need the over-voltage protection).