|Edit: You beat me to it ;)|
Technically that does make every name into a variable(%%a) ;)
If possible I would suggest that you expand the loop and use it to do what you want with %%a.
If your heart is set on local environment variables:
for /d %%a in ("C:\users\*") do (
set /a cnt+=1
for /l %%a in (1 1 !cnt!) do echo !dir%%a!