1 - non puoi fare getElementsByTagName di qualcosa che ancora non esiste nel codice: quelle istruzioni devono essere richiamate DOPO che la tabella è stata definita (ad esempio all'evento window.onload)

2 -
codice:
<script...>
window.onload = function() {
  var a = document.getElementsByTagName('td');
  for (var i = 0; i < a.length; i++){
     if (a[i].innerHTML == "testo") a[i].innerHTML = "ciao";
  }
}
</script>