Вам не нужен js гуглите адаптивная верстка.
Решение в лоб - у контейнера меню не задавать фиксированную высоту, тогда при смешении пунктов меню он растянется
ну во-первых не верстаку, а верстальщику. А во-вторых смотря как это к вам относится, если это он сделал по вашему заказу требовать чтоб переделал или вернул деньги, если просто чей нибудь код просто забить
Если не знаете когда какой тип позиционирования использовать то
особенности html и css
не изучены, центрирование блоков делают по разному, можно margin, можно position, внимательно читайте про позиционирование в чем разница между relative и absolute, когда поймете вопросов когда что использовать не будет