1) Структура html/css чата должна быть в отдельном файле? Как это потом интегрировать на сайт?
-- Как удобно, так и делается. Обычно зависит от объемов кода и целей. Если делается простенький чат для одного сайта, можно и в общие стили запихать.
2) Есть какие-то требования к чату? Где-то вычитал, что блоков head и body быть не должно, так же как и т.к. этот файл потом будет добавляться на уже готовый сайт.
-- Это ерунда. Вытащить код чата на сайт при прямых руках и полном доступе к исходникам – не проблема. В иных случаях помогает iframe.
3) Можете скинуть ссылки в codepen или примеры кода для таких чатов.
-- Простой поиск по тегам 'chat' в codepen выдал
это.