I’m not sure of the actual reason why they can’t be split willy nilly, but I do know that the PCIe standard only has x1, x2, x4, x8, x12, x16, and x32 spec’d out, so that may be at least part of the reason.
The reason why you can’t arbitrarily split lanes like that is because there are only specific predefined modes to allocate resources to/from.
The controller is smart enough to know if you plug in a x16, a x8, or a x4, etc and has logic baked in to operate in different modes depending on what was detected.
These splits are always a base two number (because binary).