Надеюсь я правильно понял вопрос и отвечаю по теме.
1. В джаваскрипте модель многопоточных приложений не предусмотрена. Из этого следует, что возможности сказать одному потоку: "слыш, следи за пользователем, а потом шепни второму потоку, что пора действовать" нет, т.к. эти потоки (а на самом деле даже не потоки, а отложенные вызовы, стоящие в очереди) ничего друг про друга не знают. И, запустив программу в бесконечный цикл, вы повесите абсолютно все.
2. Обычно подобная задача (отклик на действие пользователя) в джаваскрипте решается коллбэками. Это функция, которая будет вызвана после выполнения основного действия или наступления какого-то ивента. В вашем случае (к сожалению, вы очень абстрактно описали задачу) я бы завершил работу функции в момент, когда можно начинать ожидать $(tag).click(), а в сам .click() передал бы коллбэк, который состоит из оставшейся части вашей функции.