Pour faire ce genre de choses en PUR CSS, ça demande d'utiliser des éléments a (liens) qui englobent des blocs entiers, avec à l'intérieur d'autres liens. C'est déjà le cas pour un menu déroulant sur un seul niveau, mais c'est pire sur deux niveaux…
Le tutoriel sur Alsacréations qui présente des menus déroulants utilise d'ailleurs Javascript pour le dynamisme (survol). Pour ma part, je préfère l'utilisation de javascript (conçu en partie pour de tels effets) que des CSS, qui ne sont pas prévus pour ça. Si le tout CSS veut dire que l'on bidouille et détourne une propriété de son usage normal, c'est un peu dommage.
Sur deux niveaux en tout CSS, je ne vois pas trop.
À noter que, théoriquement, ça devrait être possible sans trop de bidouille, mais le manque de support d'Internet Explorer pour la pseudo-classe :hover, qui oblige à ne l'utiliser que sur les liens, fiche le tout par terre.