Знаки препинания расставлены верно. Также вместо тире можно поставить двоеточие.
Эти варианты равнозначны, можно использовать любой из них.
Запятая нужна: Не знаешь, что подарить?
Возможны оба варианта: года и годы.
Оба варианта верны.
Запятая нужна: Не знаешь, что подарить?