custom menu/sub-menu output
Do you know of the nice menus module?  Nice menus will allow you to make dropdown menus without writing any code on your own.  You can also find instructions for customizing the Nice menus CSS here.

Nice menus has almost 60,000 installs as of this writing, indicating that it is likely to be supported well into the future compared to modules that aren't so popular.