Соблюдать надо правила именования того языка, на котором ты пишешь, а не который ты где-то когда-то видел. Тем более если твой код увидит кто-то кроме тебя.
Зачем ты инициализируешь переменные сначала нулями, а потом тутже присваиваешь им новые значения?
Опять же я не понял про nodeValue и nodeName.
Если доступаешься к элементу массива много раз, то почему бы не вынести элемент в переменную?
А вот это:
	
	| Сообщение от kos403 | 
	| for(var j = from_where;j < when_stopd;j++){ string_of_data += mass_of_all_nodes[i].data.charAt(j);
 }
 | 
	
- вобще пипец. Так на JS не делается. Все гораздо проще (и работать будет быстрее).
Вложенные if'ы - тоже зло. В каком-то проекте крупном, не помню, даже патч не примут если есть три вложенных if'a.
Вот мой вариант (примерно так же напишет любой js-прогер с планеты земля):
this.showComment = function(prefix, suffix) {
    var nodes = document.body.childNodes;
    for (var i = 0; i < nodes.length; i++) {
        var node = nodes[i];
        if (node.nodeType !== node.COMMENT_NODE)
            continue;
        var prefixIndex = node.data.indexOf(prefix);
        if (prefixIndex < 0)
            continue;
        var suffixIndex = node.data.indexOf(suffix);
        var data = node.data.substring(prefixIndex, suffixIndex + 3);
        return alert(data + ' was found in body');
    }
};
Чей на твой взгляд читабельней?
nodes.length не вижу смысла кэшировать.
Если нужна поддержка IE8, то тебе придется самому определить константу COMMENT_NODE.
Откуда число + 3? Че за магия?