Почему в разных case (switch case) нельзя использовать одинаковые переменные?
Он наверное ругается на то, что вы var пишете несколько раз.
Все var выносятся (и выполняются в начале функции), вне зависимости от того, где они находятся по коду.
Объявите переменную 1 раз в начале функции, а дальше используйте её хоть во всех ветках.
Какой ещё компилятор в js? В чем пишите код? Возможно у вас jslint используется, который настроен так, что пишет предупреждение когда видит одинаковые переменные. И пример кода бы посмотреть.