The fare structure is based on supply and demand, in that enviroment it is quite difficult to base fares on mileage to reduce the effectiveness of splits. That issue is made harder by the fares being set by different companies on the same route. For example, Manchester to Newton-le-Willows is set by Northern and Newton-le-Willows to Birkenhead North is set by Merseyrail, but Manchester to Birkenhead North is set by TPE, yet they are all valid on the same train(s).
The time you should expect to wait to be served at a ticket office varies by station and TOC (according to demand and the number of clerks available on a normal day) but generally it is three minutes off peak and five minutes peak time at medium sized stations.
Someone spending £100 on split tickets could take up ten minutes of a clerks time, while someone spending £300 on a through ticket could take just 30 seconds.
Impartial retailling isn't completely impartial for the reason you have highlighted, but it is the best way to have the system based on the vast majority of users (and generalisations).
We have ended up in a middle-man culture in this country, the majority rely on someone else to give us the best deal. Look at comparison sites, they are telling you the best deal and because people think they are not paying for it, they are happy to use them. For the most part, that is not true, but because of this belief, we have now even got comparison sites for things like online bingo!
People can do research and get the best deals, but people expect things to be done for them. In an ideal world, splits would always be offered, but this is not an ideal world.