Take a look here for #1: remove li class & id for menu items and pages list
Regarding items #2 and #3, why not just do this with CSS? The separators shouldn’t be in their own <li>
tags anyway. The following CSS will add a |
after each menu item, except the last.
#topMenu ul li a:after {
content: "|";
display: inline-block;
margin-left: .618em;
width: 1em;
}
#topMenu ul li:last-child a:after {
display: none;
}