1. YII боль, советую Laravel, Symphony и т.д. Вообще, если Вам нужна скорость и динамическая подгрузка, то советую посмотреть в сторону nodejs+express.
2. Это называется SPA(single page application), можно сделать по разному.
3. Используются сокеты, либо long-polling. Для примера можете посмотреть на socket.io. Там даже есть пример чата, готовый.