Make that last one a definite yes.
Keybinds aren't that hard.
And as for the sitting bugging out when you want to walk...
Fixing that isn't going to be perfect as the probable best solution is to keep checking the player's velocity when he is sitting (i assume you just play the animation with playThread or something).
Either that or we force the player into a camera that looks at him (that he can rotate around himself) when he 'sits' and make him go out of sitting mode when he presses the left mouse button.
Which is probably the best idea...
Would work well with the sleeping thing.