Fai un passo alla volta e vai in "modalita` debug" (=inserisci una serie di alert, che ti aiutano ad individuare dove sta il problema).

Esempio:
codice:
function NOMEFUNZ() {
	var str = RegExp("hello","i");
	var tabs = gBrowser.mTabContainer.childNodes;
	alert(tabs);                      // dovrebbe dare object, o array
	for (var i = tabs.length-1; i >= 0; i--) {
	//	var docum = gBrowser.getBrowserAtIndex(i).contentDocument.body.innerHTML;
		var docum = tabs[i].document.body.innerHTML;
		alert(docum.substr(0,20); // inizio della pagina
		if (!docum.match(str)) {
        		gBrowser.removeTab(tabs[i]);
    		}		
	}
...
Puoi anche testare cosa ritornano i seguenti oggetti:
tabs[i]
tabs[i].document
tabs[i].document.body
...
se qualcuno ti da` un errore, vuol dire che quella sintassi e` sbagliata.