1)
LDAP - это протокол, в котором вы не можете (что я знаю) отсортировать результат, не делая его вручную (в вашем случае, в Java). Еще одна вещь, которую вы можете найти - это значение, которое вы искали, которое хранится в его собственном поле, например msSFU30MaxUidNumber в Active Directory, чтобы получить самый большой UNIX UID в AD.
РЕДАКТИРОВАТЬ: Как отмечает @EJP, вы можете указать сортировку, если LDAP-сервер поддерживает это. В Java, посмотрите на javax.naming.ldap.SortControl
2) Я думаю, что это то же самое, что и 1.
3) Да, посмотрите на поле userAccountControl. Он содержит значения, которые можно найти здесь: http://support.microsoft.com/kb/305144, например, ACCOUNTDISABLE (2).