Это вообще возможно? (средствами php, html, css ну и js может быть но не знаю зачем он здесь)
Возможно, но технически это довольно сложная задача. В вашем случае я рекомендую воспользоваться новым инструментом
анализа использования CSS в Chrome DevTools. Это ручная работа, но так вы получите хоть какой-то эффект при относительно небольших усилиях.
Так кто нибудь делал / делает?
В принципе, да, но область применения у такого подхода невелика. Делать это на лету точно не стоит и обычно пользуются утилитой
uncss, натравливая её на исходные файлы. Но при этом очень важно выбрать корректный набор страниц, чтобы не вырезать нужное или не оставить много лишнего.
Даст ли это ощутимый прирост производительности?
Нет, это убьёт производительность ещё сильнее, особенно на дешёвом хостинге. Прежде чем применять такие сложные решения, я вам рекомендую разобраться, а что у вас реально тормозит загрузку. Действительно ли проблема в css? Скорее всего, нет.
Так вот на момент передачи заголовков тело ещё не загружено, значит придётся подключать css в body - это возможно тоже будет влиять на скорость.
Тег head и заголовки - это разные вещи. Вполне можно реализовать эту задачу и добавить стили в head. Но, судя по формулировке вопроса, у вас сильно не хватает знания для решения этой задачи и вы скорее отстрелите себе ногу, потратив на это кучу времени (не пытаюсь вас обидеть, просто констатирую факт).
Ещё, читал, что стили нужно подключать именно в header а не в body, причин не знаю.
Это не обязательно и в некоторых случаях часть стилей стоит подключать именно в body. Но это отдельная очень большая тема - поищите статьи на тему оптимизации рендеринга страницы, начните с
этой.