What I'm not sure about is how smart the seat reservation system is about preferring to re-sell the same seat for multiple journey legs.
eg, if seat B46 has already been reserved from Southampton to Reading, and from Oxford to Birmingham, when someone comes along and books a ticket from Reading to Oxford will the system automatically allocate them into B46 so as to get best use out of the reserved seats and leave as many free for longer journeys as possible?
If the system doesn't do that already then that should be the first priority, to improve it so that it does.
Only if it is already allocating seats in the optimal way and this is still leaving long-distance passengers unable to reserve a seat even when there are some seats free at every part of their journey should we look at alternative options.