Про другие методы, не знаю, а в LDAPе так:
1. бд заводишь на лдап-сервере, заполняешь нужные поля, если в базовом объекте нужных полей нет, то добавляешь их.
2. Это надо уже moodle ковырять, изначально - имя юзера из базы ЛДАП.
3. Сверяет имя, дополнительные поля не может.
4. Создает пользователя, вкачивает из ЛДАПовской базы нужные поля, их надо в настройках аутентификации у moodle указать. Например Фамилия(moodle) = givenName(LDAP). Там же поставить режим обновления этих полей. (Например один раз при создании или каждый раз при входе в систему).
5. Не может.
Встречный вопрос к собравшимся - а Shibboleth кто-нибудь пробовал?