I don't know why using wire, excluding any EMC potential, would be a problem if the correct wire gauge is selected. This site http://www.cirris.com/testing/resistance/wire.html shows that using 20 ga. wire for 1200 feet (approx. 400 meters) would get you in the range of 12 ohms. If you continue to use the 1.5k as a pull up, when the the switch closes you'd have around 40 millivolts(at 5 volts) from pin2 to ground. This well within the limits for the PIC to recognize a logic low.

Now if you use .050 ribbon cable you'd have around 7200 ohms just for the wire and a "low" voltage of 3.9ish. That voltage would be probably interpreted as never having switched. But you could also use the .050 wire but use a 100k as a pullup and you'd get around .33 volts(at 5 volts) which should be seen as a logic low.

EMC could be soved by routing, cheaper, or using shielded wire which would about double your wiring costs. Routing the sensing wire at 90 degrees to electrical wiring where it corsses will minimize EMC pickup from that source. Might even be cheaper to run conduit in suspect areas if you're handy with that sort of thing. Of course you could use a debounce routine like someone else suggested.

I also don't see any value in the TVS but I am curious how you came about the values used for you filter network.