Looks like your train will be starting from Birmingham New Street at 1430 running through to Newcastle 1748. To catch this you could leave Reading at 1111, arr Oxford 1135. Bus Oxford - Banbury arr 1240, back on the train at 1254 and arr Birmingham at 1348. That is all according to the EC mixing deck.
The departure from Reading would be lot earlier than shown in the online timetables and no doubt changes your plan for the day.
Also found another 08:21 Glasgow Queen Street - Mallaig table 227 page 1 Mon-Sat until 26th September.
Until September 23 the 0821 runs only to Oban Monday - Friday, not Fort William / Mallaig.
Saturdays the 0821 runs to Oban / Fort William and Mallaig splitting at Crianlarich. This also runs Monday - Saturday from September 26.
The morning Fort William / Mallaig service runs at 0907 from Glasgow QS Monday - Friday, until September 23. (O821 Saturdays to Oban/Mallaig)
I got these times using Scotrail's own online timetables.
I have to admit, since the new format of the online timetable I have lost my faith in it's accuracy and tend so recheck every time on the operators own websites and timetables to be sure. Having said that the Reading train is still shown in Cross Country's own timetable as departing at 1254 so even these can change from time to time due to engineering works.