Можно ли задать высоту для бордера?
tosster22, Нужно padding оставить такой же, а при наведении добавить рамку которая в 10px
Подойдите к вопросу иначе. Рамка всегда есть, но ее не видно.
При наведении, рамка меняет цвет и ее видно.
Добавив transition: border-color 0.3s; сделаем смену цвета плавной.a {
/*  padding: 20px; // Было */

  padding: 10px;
  border: 10px solid transparent;
}

a:hover {
  border-color: red;
}
tosster22, вам нужно сразу добавить прозрачный бордер, а при наведении менять цвет, что бы не прыгал блок. Еще вариант использовать box-shadow
https://codepen.io/michelre/pen/EoPMGv