Множественный include одного файла каждый раз читает с диска или кешируется?
можно не заморачиваться, ОС сама закэширует файл к которому много обращений.
Можно настроить внутреннее кеширование файлов, копать в сторону Opcache или XCache.
Но множественный инклюд одного и того же файла намекает на определенную проблему в архитектуре приложения.
Почему бы все необходимое из инклюда не перенести в функцию/класс и использовать множественные вызовы классов? Тогда вы точно будете уверены, что все закешировано как надо и повторные вызовы из файла исключены.