Why can Bedwyn services not run to Pewsey or Westbury? Or even Trowbridge which has a a ridership of 970k pre Covid ?
Yes, Bedwyn is a bit of a strange one. I guess it's a mixture of reasons, namely sidings available for turnbacks, convenience of diagramming, express trains don't have to add an extra stop, acts as a railhead for Marlborough and the East Wilts area, higher frequency of stations eastbound towards Reading than westbound. I think it's also just been left over from the divison within the franchise between the Thames Valley, West and Intercity. Between Bedwyn and Pewsey is effectively 'no man's land', there are not many trains that stop at both at all!
Trains in theory could run to Westbury, Trowbridge or even Frome or Warminster... Westbury already has a fair amount of through and terminating trains with just three platform faces available for use. Trains couldn't turnaround at Trowbridge station itself and would have to go north to Bradford Junction and then reverse. Frome station is single track and might cause pathing constraints at certain times and I can't really think of any reasons why they couldn't terminate at Warminster.
If a couple of stations were re-opened between Pewsey and Westbury, that'd probably strengthen the business case for these stopping trains to be extended westwards.