The main reason would be a measure of transparency and the general public's perception of fairness.
The only truly "fair" and "transparent" system - charging a flat rate per mile - is completely unworkable for reasons we have already explained.
As soon as you move away from that concept it no longer becomes transparent and easy to understand. You have to start asking yourself why you are calling it mileage based, when really it's just a replication of the current system, but with some people getting cheaper fares, and others more expensive ones.
Not sure why it would be impractical (aside from the howls of protest at the time of conversion to this system)?
"Apart from the need to amputate your leg, the procedure should be painless"
have little or no anomalies resulting in split ticketing or cheaper tickets for longer journeys etc.

yeah, no, I don't think so. As previously stated, if you want the system to avoid anomalies then it must be much less flexible and convenient, and effective, usable frequencies would be reduced on many journeys.
Avoiding split ticket anomalies, in a way that doesn't require increased subsidy, means massive fare increases. Is that what the public want?
Not sure why, from the general public's perception of fairness, what would be the problem with Paddington-Reading costing less than Plymouth-Penzance, due to the greater mileage of the latter.
In case it's not obvious, the demand for one journey is much higher than for the other. The service is miles better between Reading and Paddington, with 10tph fast off-peak averaging 93mph. Plymouth to Penzance has (at best) 2tph slow off-peak, averaging 41mph.
If you charged the same rate of pence per mile for both, and used the existing Plymouth to Penzance rate (14.7p per mile Anytime, 7.3p per mile Off-Peak), Reading to Paddington would cost £10.60 Anytime or £5.25 Off-Peak. Season ticket prices would of course need to be reduced accordingly.
Have you any idea of the sort of loss of revenue that this would cause across the network? Intermediate fares, in fact all fares across the country, would need to be reduced to that level. We are talking about billions in increased subsidy each year. Not to mention the incredible overcrowding that would result, with more people moving to Reading due to the commute becoming more affordable, and so on.
Don't get me wrong, I would love to see it, but it's just not happening under the current government.
Let's imagine the opposite situation - pricing Plymouth to Penzance at the same rate as Reading to Paddington. The latter currently costs 69.8p per mile Anytime and 30.4p per mile Off-Peak. Plymouth to Penzance would cost £111 Anytime or £48.30 Off-Peak.
How many people do you think would seriously consider using the train at those prices? You might as well close the line for the number of passengers you'd get. It's laughably uncompetitive given what the service is like.
Ok, so let's say you went for a middle ground, with Plymouth to Penzance increasing but Reading to Paddington decreasing. Well you'd probably have to double the cost the former, and all other 'decent value' fares, to compensate for even a 5 or 10% drop on the latter. And that assumes you kept the same number of passengers!
In short, uniform pence per mile pricing is totally unworkable given the massive difference in service quality and provision across the network.