1. бордер у неактива можно делать прозрачным, тогда при наведении будет меняться цвет у границы и не сдвигать
2. заливайте просто фоном ссылку и все, а для нужного поведения для a {display:block;}