По сути, параметр функции - это локальная переменная, так что эта практика в принципе неплоха.
С другой стороны, это может привести к головной боли при обслуживании. Если позже появится другой программист, он может ожидать, что переменная будет содержать переданное значение, и изменение вызовет ошибку.
Одним из оснований для повторного использования переменной является неверное представление об эффективности использования памяти. На самом деле, это не может улучшить эффективность и может снизить ее. Причина в том, что компилятор может автоматически определить, полезно ли использовать один и тот же регистр для двух разных переменных в два разных времени, и сделает это, если будет лучше. Но программист не должен принимать это решение за компилятор. Это ограничит выбор, который может сделать компилятор.
Самая безопасная практика - использовать новую переменную, если ей нужно новое значение, и полагаться на компилятор, чтобы сделать ее эффективной.