Заключите локальное определение в фигурные скобки ({}).
\newcommand\foo{FOO!}
\foo
{\renewcommand\foo{BAR?}\foo\foo}
\foo
Это сгенерирует что-то вроде:
FOO!BAR?BAR? FOO!
Это можно сделать и в определениях макросов - просто убедитесь, что вы добавили дополнительные фигурные скобки:
\newcommand\newfoo{{\renewcommand\foo{BAR?}\foo}}
Надеюсь, это поможет.