The best way to go IMO, would be using the LDAP directory. It is synched with Blackboard logins and has all the basic info from HR in it, so you could pull first name last name etc etc (and this is what every app should be going to I think).
To get to the data you have to fill out a form signed by your director and registration and records if I remember correctly. Once that's all done you'll get a username and password to bind with so you can actually query.
I've got a lot of what you're looking for done in PHP, and Todd Jensen's group at NMC has a lot of experience with handling queries to the LDAP in PHP. So if that helps any, don't hesitate to ask.
I would contact Aaron Hosier for the LDAP connection request form, and Patrick Menard for the Active Directory questions.
Hope that helps.