So, how much of a difference does a length of cable make? I realized I had no good feeling for it. So hey, let's measure it!
I connected 8 breadboard jumper wires together (M-M F-F M-M...) for a length of about 1.6m, which should give me about the crappiest cable there is, which I suppose is a lower baseline. I had an arduino toggle one of its outputs at 100kHz (the fastest you get if you use digitalWrite, apparently) and connected the wires to another pin configured as input.
Measuring at the output, the signal looks like out.png. 1.6m of jumper wires later, we see a notable overshoot (in1.png, and zoomed in in in2.png.)
Adding a 10k series resistor on the input side cures the overshoot (res10k.png), but also hugely increases the flank rise time. A lower value resistor would work better, but oh well, this gave me enough of an idea of how the wire behaves, so I'll stop here.
Edit: oops, the Arduino's pull-up seems to be active in the last image. Doesn't matter much though, it only means the high voltage is a bit lower, the signal's basic shape remains the same without it.