1. Да, переменные макроса инициализируются при каждом его вызове.
2. Глобальный макрос вызывать не нужно - в нем только объявляются функции, которые вызываются в пользовательских макросах.