para la segunda opcion podes hacer algo asi:
Código HTML:
<script type="text/javascript">
function otroFocus(o, n)
{
if (o.value.length == o.maxLength) document.getElementById('form1').elements[n+1].focus();
}
</script>
<body>
<form id="form1">
<p><input type="text" name="txt1" id="txt1" maxlength="6" onkeyup="otroFocus(this, 0)"></p>
<p><input type="text" name="txt2" id="txt2" maxlength="6" onkeyup="otroFocus(this, 1)"></p>
<p><input type="text" name="txt3" id="txt3" maxlength="6" onkeyup="otroFocus(this, 2)"></p>
<p><input type="text" name="txt4" id="txt4" maxlength="6"></p>
</form>
</body>