The sleeper from Fort William to London Euston stops at Queen Street low level, so you could jump on there at around 11:30pm, which drops you at Euston at 9am; then assuming it's on time, you could walk briskly across the station to get on the 9:10am Avanti West Coast train from Euston to Glasgow Central, getting in at 2pm