I think more likely to be achievable by May is some limited form of split ticketing arrived at by summing the prices for individual legs of a journey, i.e. you only split tickets at stations where you change train anyway. If in fact the splits only happened at stations where you change from one TOC to another, I can see that actually being quite popular with some TOCs as they would have full control of yield management for the part of the journey that they actually carried the passenger for.
While it doesn't fix all the problems, I can see no issues with that approach, as it would stop people overpaying just because they wanted a ticket from Sandhills (Merseyrail) to London and they put that in the search. Advances are train-specific anyway, so it makes little odds to the passenger precisely how they are priced, provided there isn't a load of mass confusion caused by differing T&Cs. It would allow a massive simplification of the Advance fares "database" - TOCs would just need to offer what they wanted to offer, and the ticketing system would simply cobble each leg together from the cheapest available[1] single fares (be that an Advance or a walk-up), and issue the lot on one ticket. No need for &CONNECTIONS or any of that complexity.
FWIW, because of the large number of global-fare trains in mainland Europe, DB's booking office system has been able to do that since the 1990s. I recall on a few occasions booking through journeys from Hamburg/Munich to London Waterloo, where they'd just do a journey plan and ticket the lot (DB ticket, Thalys ticket and E* ticket) within about a minute if that.
That approach would be a massive nuisance for walk-ups - but for Advances I see no problem. Logically it would also check each TOC split[1], allowing a TOC to offer a through Advance fare with a change if they wanted for some reason to motivate people to go that way. Not a horribly complicated bit of IT, really. I could probably throw something together to query BRfares to do that in an afternoon.