Perhaps a better paradigm for cable is to treat it more like an inventory item than a line with extra properties. I would like a way to build a cable and add it to the library, similar to a length of truss. The simplest editor would allow the setting of length and each of the ends.
As an inventory item, the required length is the shortest inventory item that covers the span (plus extra). For example, given an inventory of 1, 5, 10, and 25 meter cables, a 25m cable is needed for an 11m span.
Inventory items can have properties like color, type, etc. without using tricks like layers to work around the limitation.
Multiple conductor cables like Socapex make it more complicated. The way KiCad handles circuit board buses may provide a feasible approach.
Just a thought.