Можно сделать так:
var string = Array(4).join("- (1) Главная\n"),
count = 0;
alert("Исходный вариант:\n" + string);
alert("После replace:\n" +
*!*
string.replace(/(- \().*(\) Главная)/g, function(str, part1, part2){
return part1 + ++count + part2;
})
*/!*
);
Регуляка состоит из двух запомянающих скобок и того, что между ними нужно заменить. Соответственно, заменяем на первая скобка + счетчик + вторая скобка.