Hola otra vez:
Vas bien encaminado...
function marcar(actual) {
var celdas=document.getElementById('tabla').getElement sByTagName('td');
for (i=0;i<celdas.length;i++) celdas[i].className = "regular";
for (i=0;i<celdas.length;i++)
if (celdas[i].identificador == actual)
celdas[i].className = "marcado";
}
La idea es hacer un bucle for para la limpieza, y luego otro bucle para marcar.
El error es posible que sea de otra cosa, tal vez haya alguna celda sin "identificador"... Si tienes algún enlace para verlo, dilo.
Saludos