Можно поместить в массив функции, и каждый раз при срабатывании заменять на следующую:
var button = document.getElementById('btn');
function f1() {
button.disabled = true;
button.onclick = todo.shift(); // заменили обработчик на следующий из очереди
var timeoutID = setTimeout( /* запуск таймера */
function() { button.disabled = false},
1000
);
}
var todo = []; // очередь одноразовых задач
todo.push(f1,f1,f1); // три раза f1, потом добавьте "другие" - f2, f3
button.onclick = todo.shift(); // зарядить первую
Fiddle