Насчёт табов: по ходу только так
<textarea rows="6" cols="30">
<script>
alert();
alert();
</script>
</textarea>
<textarea class="code" rows="6" cols="30">
<script>
alert();
alert();
</script>
</textarea>
<script>
window.onload = function () {
var ta = document.getElementsByClassName('code')[0];
ta.value = ta.value.replace(/\t/g, ' ');
}
</script>