There is no DHTML menu right now, it might be available in the future. (I do not know if Mike is putting it in the core)
You could create a DHTML Menu with ease yourself. In fact I think it would be very easy.
You would only need to create some kind of control that could keep track of QListItems and output the correct HTML you need for your menu type. (Use QListbox as a startingpoint, you only need to change the GetControlHTML to make it create a nice list of items)
I use simple <ul> lists and a combination of javascript and CSS to create all my menus. I might be building a menu-control for QCodo (user contribution), but since I have a LOT to do at work these days, I do not expect it to be done until a couple of months.
In regards to your question about the valid code, I think Beta 3 is going to deliver valid XHTML.