Bueno Messer, tu código ni "patrás"
![sonrisota](http://static.forosdelweb.com/fdwtheme/images/smilies/xD.png)
Pásate por
www.araudi.net sección menús, el
nº 1 posíblemente se ajuste a tus necesidades.
Sólo tendrías que añadir en el selector "#menu ul li a:hover ul, #menu ul li:hover ul" la propiedad 'bottom:X%;'. Y calcular el valor de X según el nº de opciones y la altura de cada una.
Si siempre serán las mismas el valor será único para todos, si van a variar, necesitarás asignar un identificador único (#, id) a cada opción para darle un valor a cada "ul li ul"
Quizás he sido muy genérico, pero hasta no ver si lo utilizas o ves factible...
Un saludo