A few points I'd like to offer, which I don't see examined in this thread :
Each rail operator is on a government contract, the terms of which are hidden from the public and, presumably, RDG. The contracts all expire on different dates.
It's easy to adjust fares, the number of trains and their capacity (seats), departure times, pricing when there are just one or two operators between departure point and destination. But if we look at the rail network as a whole and at long distance tickets, often we are talking of three or more operators.
Any proposals to alter fares that, in terms of the existing contract that each operator holds, are not seen as "revenue neutral" will result in the lawyers keeping quiet if it's seen as more revenue but OTOH they will immediately protest if it's seen as hitting revenue, reducing profits or benefiting the competition (such as under ORCATS). These discussions will be private and never see the light of day, I'm thinking.
So the only way this could be done is to fix a date in the future when major changes would be made across the entire rail network, already reflected in the negotiations and bids for new contracts. If I am correct, all this discussion here on this thread is a little academic as neither we nor RDG are privy to the T&C of each contract. The cost of altering contracts could be huge and as in the end the rail user pays, it might not be worth attempting this but instead just tinkering around the edges.
If you compare with the system used worldwide by airlines, it might be possible to introduce something comparable. Very simply, all major airlines use a three digit code for airports (LHR) or cities (LON) and an arcane system of "bucket codes" for seats. BA for example has a long list of single digit codes for seats in First Class, Business and Economy. There are typically multiple codes for "available seats". Imagine I am flying to New York - if I pay "full fare" every seat shows as available. BA decides, based on competition, fare levels and, importantly, yield management ... how many seats to offer in each code (fare basis class). The passenger paying a budget fare may sit in the same seat and gets the same service despite having paid one third of the full fare. But he may not get to choose the particular seat and if he decides not to fly he will lose some or all of the price paid. For the operator the idea is that, if possible, all this and yield management attracts people (in this case to BA), rewards loyalty through different schemes, airline alliances and so on. A particular fare will book into one of those fare basis codes. If the flight date is close or the flight is nearly full, no cheap seats will be available or, conversely, if a large number of seats remain unsold last minute promotional fares can be offered at a moment's notice.
The idea is that when the plane takes off, in a perfect world every seat is occupied. BA has a flight specialist on each route whose job it is to manage available seats and prices to be competitive and to fill the plane. They even deliberately overbook in the knowledge that some people will not show up, based on past statistics for that flight on that route. To understand more of how this works, go to a website called matrix.itasoftware. Click on Advanced Controls, pick an airport pair and then on the question mark for help. You can look at Itineraries and Faring. It's a subject in itself and a lot of the analogies do not apply to rail travel or ticketing, but the principles are the same - to offer a range of fares for all markets, fill the capacity and be competitive. Importantly, it can be used at the most basic level or one can use it in very sophisticated ways.
Coming back to rail travel we already have 3-digit station codes, 4-digit codes like 0035. If I want to travel from the South Coast to Glasgow or Edinburgh, with a system like this I could just do a basic search Brighton to Glasgow and see a suitable fare for my travel dates and times. Or I could get more sophisticated and - all in one single search - say I am prepared (depending on price, departure time) to travel on Tuesday or Wednesday morning, prefer faster trains but extra time in London between connections, and to consider leaving instead from Hove and going to Edinburgh instead of Glasgow if that's cheaper or better for me in some way that I decide. I'm then offered a range of fares for my departures (between let's say 8 AM and 10 AM). I see a fare at £82.50 and one at £168.90. In the (airline) example above each fare has a code (it might have 6 digits) and before I book and pay I see (and must accept) the terms and conditions of that particular fare.
In an imaginary future situation I might be able to see "change fees" (yes, just like the airlines) and in this way every fare level could be offered and every condition imposed to manage yields, encourage (or discourage) travel, meet the competition and so on. In other words behind a very simple user-friendly facade lies a huge powerful flexible system for those with the time, knowledge or inclination. No problem with operators, via points, capacity, routes. Validity can be set for specific trains, certain hours of the day (e.g. between 10 AM and noon) and so on. Fares can be SuperBudget, Budget, semi-Flex, Flex, even Football. It can be all things to all people from the elderly to a tech-savvy teenager studying for a business degree. All this just needs the government to invest in or license suitable IT. Tickets from airports could, for a supplement, be valid for a later departure if the incoming flight was late. Everything is possible, even last minute £5 MegaBudget fares when trains are empty - intended to encourage more people to use trains.