Во-первых, хранить сообщения в файле плохая идея, так как сложно делать синхронизацию. Лучше используйте базу.
Во-вторых, если используете сессии (что весьма вероятно), то long polling лучше не использовать из-за проблем зависания скриптов.
В-третьих, если хотите экспериментов, то лучше посмотрите в сторону JS + Node.JS.
В-четвёртых, для чата достаточного обычного Ajax. В куках делайте запись с последним идентификатором сообщения, в JS делайте периодические запросы по setTimeout, а сообщения храните в базе.