Tu sembles arrivé au bout de ton premier problème.
Quant à ta « vieille barre blanche » entre ta frame de gauche (« barre de navigation ») et le corps de ton écran, c'est tout simplement l'ascenseur de la barre de navigation, qui apparaît parce que sa hauteur excède la hauteur de la fenêtre. En concevant cette barre de navigation, as-tu pensé que la hauteur utile de la fenêtre est bien plus faible que celle de l'écran, qui comporte en outre, horizontalement,
- en haut la barre de navigation du navigateur,
- en bas la barre d'état du navigateur,
- et en-dessous, la barre de tâche de Windows (le cas échéant).
Si ta résolution d'écran est 1024x768, tu peux réduire la hauteur de la barre de navigation du navigateur en appuyant sur la touche F11 (pleine page), et tu verras disparaître l'ascenseur. Il ne restera que la bordure de la frame. Pour la faire disparaître, il te suffit d'ajouter, dans la balise <frame>, l'attribut border="0".
Il te faut donc reconcevoir ta barre de navigation sur une hauteur plus faible...
Parce que ta remarque me donne à penser que ta résolution est au moins 1280x1024. Il existe encore beaucoup d'internautes qui, comme moi, sont en 1024x768 (donc ascenseur), et même encore des qui utilisent une résolution 800x600 !
--- edit ---
Pour revenir à ta nouvelle solution (ovales), tu sembles utiliser les balises <dl>, <dt> et <dd> qui sont dédiées à un glossaire, alors que les balises <ul> et <li> sont dédiées à une énumération, donc parfaites pour un menu. C'est bizarre, c'est la seconde fois en quelques jours que je rencontre cette confusion...