As for why the fares are set in such a way, what it essentially boils down to is that Pricing Managers like to keep things simple, so they try to keep things priced in clusters of stations rather than setting every fare individually. A side effect of this is that you it creates pricing anomalies.
So, for example, if you look at the Sutton to Godalming fare in further detail, you discover that it's actually between two clusters as follows:
Q049 - West Sutton, Banstead, Belmont, Cheam, Epsom Downs, Sutton London, Wallington, Carshalton, Carshalton Beeches.
Q406 - Godalming, Witley, Farncombe, Milford Surrey
Guildford, on the other hand, falls into another cluster:
Q407 - Chilworth, Guildford, London Road Guildford, Shalford Surrey, Worplesdon
And, for completeness, Wanborough falls into a fourth:
Q392 - Farnham, Ash Vale, Aldershot, North Camp, Wanborough, Ash
Doing a quick routeing guide check, Sutton and Guildford are both routeing points, whereas Godalming has both Guildford and Havant as routeing points.
To determine which is "appropriate", we need to compare the Single fare from Sutton TO Godalming against the Single fares FROM Guildford and Havant TO Sutton. If either is that same, or lower, that's deemed appropriate.
Sutton - Godalming Anytime Day Single is £10.60
Guildford - Sutton Anytime Day Single is £9.70
Havant - Sutton Anytime Day Single is £28.00
Not surprisingly, Guildford is therefore the only appropriate routeing point for Godalming in this example.
Permitted routes between Sutton and Guildford can be found on map combinations SC+PD and SC+SD.
SC+SD basically permits travel via Croydon, Redhill and Dorking
SC+PD allows some "interesting" stuff via Wimbledon
The "obvious" route via Epsom, on the other hand, is only valid by virtue of being the shortest route. It doesn't appear to feature on either map combination.
But to cut a long story short, yes you can buy a ticket to Godalming and "stop short" at Guildford.