При объявлении переменных всегда нужно использовать ключевое слово var, ибо иначе переменная объявляется в глобальной области видимости и засоряет ее, тем самым. Не, ну тут и так в глобальной области видимости объявление будет, но надо привыкать писать правильно.
И еще - к чему эти трюки с for in? Вообще-то, оно делается так:
<html>
<body>
<style>
.highlight { background: #FA6; }
</style>
<p>Логин</p>
<input>
<p>Пароль</p>
<input>
<script>
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
inputs[i].onfocus = function() {this.className = 'highlight';};
inputs[i].onblur = function() {this.className = '';};
}
</script>
</body>
</html>