Можно. Типа "setter" и "getter". Это практично для более
высокоуровневого программирования. Ближе к объектам и методам.
Обращение через функции имеет смысл, если при обращении требуются
доп. операции, например, обработка счётчиков, проверки
переполнения/опустошения. При простом прямом обращении к значению переменной или элемента структуры, если не планируется усложнение способа обращения (например, перенос переменного значения из внутреннего ОЗУ во внешнюю память, требующего специальных процедур обращения) функции не имеют преимуществ перед глобальным объявлением перемеренной.