In reply to stevieb:
Another option if you don't mind slumming it a little is the Megabus Sleeper. I have done this a few times, and usually for £15 each way from London Victoria to Aviemore or Inverness. You get a bed from London to Glasgow, and then change bus at Glasgow to a normal bus which takes you to the Highlands.
You have to monitor the site to make sure you buy your tickets on the day they are released, but I haven't had a problem getting a £15 ticket each way if I've made the effort to buy the tickets when they are released. You even get a free drink and muffin in the price!
In my experience the top bunk has more headroom but the bunk rocks with the movement of the bus, keeping you awake. The bottom bunk doesn't have a lot of headroom but is a fixed bed so it is easier to sleep.
I used to do the Caledonian Sleeper until it was made unaffordable.
Post edited at 12:40