1) Можно. Просто снова пишите:
SetObjectiveState(, OBJECTIVE_ACTIVE);
Как сделать, чтобы работало бесконечно / трижды, я не знаю, нужно проверить экспериментальным путём.
2) Можно:
If GetHeroLevel()=>20 then
И дальше прописываете, что должно быть в этом случае.