Como es el foro de css, primero tratemos de dar respuestas en ese sentido, luego, si lo que desea no es posible con css puro, entonces sí sugerir algún lenguaje de programación.
Ahora, haces un hover sobre un elemento de linea <a>:
Código CSS:
Ver original#barramenu ul li a:hover {
color: #2e74dd;
background-image: url(../imatges/menu2.png);
padding-top: 15px;
padding-bottom: 15px;
background-repeat: repeat-x;
Le estas diciendo que al pasar el puntero por sobre el elemento <a> cambie de color la fuente, se le agregue una imagen de fondo, y cree un espacio superior e inferior de 15px, que es lo que provoca que se redimensione tu menú.
Para menus con css podés consultar : araudi.net que tiene varios ejemplos en puro css.
Estudia esos ejemplos y plantea de nuevo tu código.
Saludos
PD: NO uses tablas para maquetar, no uses tablas para el menú, usa listas, es decir tu primera opción.