We did something similar two months ago.
I used something like this to set the homefolder path in AD for all users. I changed it a bit to better fit your needs and did not test after modifying it so you might want to do some test first ;\)

 Code:
Break on
 
$domain = GetObject("WinNT://@LDomain")
$domain.filter = "User",""
For Each $user in $domain
	If InStr($user.homedirectory, "oldservername")
 		$newhome = "\\NewServername\" + SubStr($user.Name,1,1) + "\" + $user.Name
 		$user.put("homedirectory",$newhome)
 		If @ERROR
 			?$user.Name + " had an error."
 			?@ERROR
 			?@SERROR
 		Else
 			?"Home folder for user " + $user.Name + " has been changed."
 		EndIf
		$user.setinfo
	Else
		If Trim($user.homedirectory) = ""
			?$user.Name
			?"No homefolder set for this user"
		Else
			?$user.Name
			?"Wierd homefolder set for this user."
			?$user.homedirectory
		EndIf
	EndIf
Next


As for the in use files the best option would be to let them know that for example users Axxxx to Exxxxx will be moved after regular office hours and force a logoff for them, lock the account do your magic and unlock the account when all is done.
_________________________
Mart

- Chuck Norris once sold ebay to ebay on ebay.