If you've got wires going deep inside a machine, you should opt for something far more robust -- 24V 20mA signaling is very common in industrial practice, even 120VAC. Run it straight into relays, if you can!
Do whatever analog signal conditioning you can; a simple RC filter going into the port, with a time constant on the order of the sample rate, does wonders for getting rid of ambient noise (that 100V 10kHz figure probably would get pushed into the 10kV range -- now we're talking, like, ESD resistance!). Don't forget external protection clamp diodes, too.
It also helps to repeatedly poll and average the pin state. I like to use a 5-10ms sample period and look three or four samples in a row (you can use a circular buffer, or just shuffle the array elements around, it's not like it's a lot of memory). At any given time, the switch is considered 'on' if the pin read low for all samples in memory, or 'off' if it read high for all samples. For 1 to N-1 samples high, make no change. This implements a short sliding-average filter with hysteresis. It doesn't guarantee that bounce or noise won't cause problems (that's nearly impossible), but it serves well enough that I can, for example, draw a wire over a rusty panel (grounded) and get a reliable "press" signal despite the immense noise of this action.
This is also easy to implement in VHDL if you're doing something on a CPLD or FPGA.
Tim