Try something like this:
$OUNames = "OU=1,OU=X,DC=domain,DC=tld", "OU=2,OU=Y,DC=domain,DC=tld", "OU=3,OU=X,DC=domain,DC=tld"
Import-Csv C:\Junk\AllHands.csv |
ForEach-Object{
$u = Get-ADUser -Filter "userPrincipalName -eq '$($_.UPN)'" -Properties AccountExpires,distinguishedName
if ($u){
$OU = $u.DistinguishedName.Substring($u.DistinguishedName.IndexOf('OU=',[System.StringComparison]::CurrentCultureIgnoreCase))
if ($OUNames -contains $OU){
Set-ADAccountExpiration -Identity $u.distinguishedName -DateTime ([datetime]::fromfiletime($u.accountexpires)).AddDays(90)
}
else{
$_
}
}
else {
$_
}
} | Export-Csv C:\Junk\WhoAreThesePeople.csv -NoTypeInformation
NOTE: I haven't run this code. You should try it first by adding the "-WhatIf" switch to the Set-ADAccountExpiration cmdlet until you're sure it does what you want!