Du könntest ohne Variablen auskommen indem du tr[i].cells[0].textContent.toUpperCase().indexOf(filter)
direkt in das if übernimmst.
Ebenfalls denkbar wäre eine Schleife cells[j] innerhalb der Schleife über i.
for (j = 0; j <=2; j++) {
if (tr[i].cells[j]...indexOf(filter) > -1) {
found = 1;
break;
}
}
style = found ? ... : ... ;
Was davon schöner ist dürfte Geschmackssache sein. Bei nur drei zu durchsuchenden Spalten macht die zweite Schleife das Ganze eher unübersichtlicher als ausdrücklich jeden Test auszuprogrammieren.