There are a few things you want to do, I think.
1) Force the Player to sleep
Try using the function
http://cs.elderscrolls.com/constwiki/index.php/SetPCSleepHours. That way you can set the player to sleep for however long, and you could even use
http://cs.elderscrolls.com/constwiki/index.php/WakeUpPC to cancel it if needs be. That works just as if the Player went to the Wait/Sleep menu, and set it to that certain length of time, just skipping out the time selection screen.
2) Forcing the Player to walk up towards a Bed
Well, this is really quite complicated. It's not like an NPC, where you can set packages for them to behave by - The player has entire freedom of choice in most cases. The only way you could do this, is by either persuading the player to do this (by hinting to go to the bed, such as getting an NPC to tell them to go to the bed, where it is, etc...) and then calling the sleep function when they're there; or by creating a hideously complicated animation that shows the player walking up the stairs, and to the bed. And that's so hard that you might as well forget it! It'd take hours work.
I guess you could create a clone of the Player, then give them a package to walk up the stairs to the bed. That would have the illusion of the player doing it (and you could make the player invisible, and make it so that they can't move - like in the start of Oblivion when the Blades are opening the block and the player can't do anything about it). The player wouldn't be able to move though, so you wouldn't be able to follow this clone of the player. All you'd be able to see is the player walking up the stairs.
3) Force the Player to stand by the Bed on waking up
Well this isn't too hard at all. Just call a
Player.http://cs.elderscrolls.com/constwiki/index.php/MoveTo [DesignatedMarker] when the player wakes up. Put the marker next to the bed where you want the player to find themselves.
It might be tricky to call it after the player has been sleeping - so I'd do it in the order of 3) then 1), so it looks like:
... Player.MoveTo [The Marker's Reference ID] SetPCHoursSleep [Number of hours to sleep]...
That way, they'll wake up where you want them to.
Good luck, and I hope that helps!