Emacs это такая штука, в которой можно реализовать всё. Вопрос обычно заключается вот в чем — реализовал ли уже кто-то, или реализовывать самому.
Что касается конкретных вопросов – такие вещи как «проект» и не обязаны быть в Emacs из коробки, есть множество сторонних реализаций. Самый модный – proejctile. Он из коробки содержит набор правил (можно добавлять свои), по которым он умеет определять корень проекта. Например, по наличию директории .git в корне, или файла composer.json. Всё в Emacs очень хорошо взаимосвязано и интегрировано, поэтому другие пакеты могут получать информацию о проекте от projectile. Есть и fizzy matching по именам файлов, и работа с vcs, и даже сохранение конфигурации окон по проектам.
Метод для генерации phpdoc с автоматической подстановкой @param я у кого-то в конфиге видел, в общем скорее всего гуглится на гитхабе.
А вот с анализом кода плохо — работа активно ведется несколькими людьми, но решения далеки от phpstorm (netbeans не пробовал). Вариантов несколько, наиболее интересным я считаю направление в плане поддержки PHP в встроенном пакете semantic, есть наработки. Также можно использовать phptags/phpctags. Сам по себе ctags из бренча universal-ctags. Global для PHP5 сейчас никакой.
Вот свежесозданная группа для координации работы над PHP и Emacs:
https://groups.google.com/forum/#!forum/emacs-php
Есть ещё отладчик для xdebug: geben. Работает, но с реализацией в phpstorm не сравнится.
Есть проверка на ошибки через flycheck. Есть обалденные средства работы с git (в phpstorm мне не нравится).