Use Move-Item inside the ForEach-Object loop.
$invalid_userlist = @()
(Get-ChildItem -Path 'D:\AAAA' -Dir) |
ForEach-Object {
$dir = $_.FullName
$name = $_.Name
Get-ADUser -Filter "samaccountname -eq '$($_.Name)' -and enabled -eq 'false'" |
ForEach-Object {
$invalid_userlist += $_ # place the entire user object into the $invalid_userlist
Move-Item -Path $dir -Destination "D:\AAAA\will_be_deleted\$name"
}
}