BenH's helpful answer offers an effective solution.
Why your command didn't work:
Your problem was one of operator precedence:
$local+"\AAA\",$local+"\BBB\",$local+ "\CCC\"
was interpreted as:
$local + ("\AAA\",$local) + ("\BBB\",$local) +"\CCC\"
resulting in a single string rather than the desired array, because the LHS - $local is a string.
Perhaps surprisingly, ,, the array-construction operator, has higher precedence than + - see Get-Help about_Operator_Precedence.
Therefore, using (...) for precedence would have made your command work:
$Users = ($local+"\AAA\"), ($local+"\BBB\"), ($local+"\CCC\")
Using expandable (interpolating) strings (inside "..."), as in BenH's answer, is more concise, but still:
A DRY alternative is (% is an alias for ForEach-Object):
$Users = 'AAA', 'BBB', 'CCC' | % { "C:\Temp\$_\" }
Note that using a pipeline to achieve this is somewhat slow, but that won't matter in most cases.
Using the foreach statement is a little more verbose, but performs better:
$Users = foreach($name in 'AAA', 'BBB', 'CCC') { "C:\Temp\$name\" }
$local?