Все варианты верны, их написание зависит от смысла предложения. «Зачем» и «за чем» являются фонетическими омонимами, они звучат одинаково, но пишутся по-разному.
«За чем» - это местоимение с предлогом «за», где «чем» - это местоимение «что» в творительном падеже. Когда употребляется данное местоимение?
За чем ты пошёл в магазин: за хлебом или молоком? То есть, что именно ты хочешь купить.
За чем он спрятался? То есть, за каким объектом (за деревом или за гаражом).
За чем она полезла в погреб? То есть, что она захотела взять там: огурцы или компот.
Я не знаю, за чем стоит ваза. То есть, за шторкой она стоит или за занавеской, или за тюлем.
Вместо «чем» мы всегда можем подставить существительное, которое есть в ответе на вопрос. Например, За хлебом ты пошёл в магазин? За гаражом он спрятался?
«Зачем» - это местоименное наречие. Оно в предложении может быть вопросительным или союзным словом.
В качестве вопросительного слова «зачем» можно заменить на: для чего, почему, с какой целью, по какой причине и т.д.
Зачем он так поступил? (Почему он так поступил?)
Зачем ты меня так рано будишь? (Почему?)
В качестве союзного слова «зачем» соединяет части предложения.
Я не знаю, зачем он сюда явился. (Я не знаю, почему он сюда пришел).
Зачем тебе это нужно? ( для чего тебе это нужно?).
Сравните разницу в употреблении данных выражений:
1. За чем он спрятался? и Зачем он спрятался?
В первом случае смысл – за каким объектом о спрятался.
Во втором случае – почему он спрятался.
2. Я не знаю, зачем он пришел сюда. и Я не знаю, за чем он пришёл сюда.
Первое – почему он пришел сюда, с какой целью.
Второе – за какой вещью он пришел, возможно, что-то забыл забрать.
Правильно написание данных выражений выбирается исходя из контекста.
Интересные ссылки по теме:
Формы кавычек в разных языках, и как они появились в русском языке
Как правильно написать «ни один», «не один», «неодин», «ниодин» ?