Ну, Quercus работает на (J) VM, поэтому он может работать с другим кодом, который может запускать потоки. Но зачем вам темы для чата? Вы просто устанавливаете тайм-аут в обычном PHP-запросе на 0 (без тайм-аута) и ждете, когда что-то будет отправлено обратно пользователю.
Это что-то еще будет в ответ на чей-то запрос (то есть А говорит "привет", что прерывает ожидание Б, чтобы что-то произошло). Это не требует многопоточности.
Также вы можете продолжать использовать Apache / PHP и выполнять вышеописанное, а вместо этого подключаться к Java (или другому) сервису через что-то вроде XML RPC, которое может ждать вечно. Этот сервер может выполнять несколько потоков или делать все, что ему нужно.