Нет, твой конкретный пример прожорливее и никоим образом текстовые ноды не переваривает.
Если пример с while лишь проверяет node на null и обращается по ссылке к следующему, то твой плюсует счетчик, обращается дважды к XMLmenu.firstChild.childNodes (это нефиговая такая процедура, надо заметить), обращается к ноду по индексу (тоже нефиговая процедура, вместо ссылочного обращения), и ещё высчитывает постоянно длину массива.
А у Гурского написано про:

Код:
for (var i = 0;i < 10;i++) {}
и

Код:
var i = 0;while (i < 10) { i++; }