"Если я пишу длинную функцию."
Вот уже ответ на Ваш вопрос! Не пишите длинную функцию!!!
Функция должны выполнять одно осмысленное действие, если она не помещается на экран и это не switch на 30 вариантов, то скорее всего ее нужно разделить.
На счёт переменных, вопрос в том, что там находится. Если там 10 чисел, то это вообще выделяется на стеке и даже сборщика мусора не будет. Второй вариант, если там 10 массивов, каждый из которых по 10 Мб, то тогда стоит задуматься, что и как Вы делаете.
Хотя, я сейчас не дам 100%, но мне почему-то кажется, что сборка мусора не выполняется посередине функции, могу ошибаться.
В общем, то, что Вы задумываетесь о памяти - это правильно, тем более, что одно дело, когда это один запрос на 10 лишних Мб, а другое дело, когда этих запросов 100 одновременно... И если это простой хостинг, то у них к Вам могут возникнуть вопросы.