Use apenas uma variável para armazenar ' :
echo 1234567 | q="'" awk '{printf "%"ENVIRON["q"]"d\n", $1}'
1,234,567
ou use 7 para representar ' :
echo 1234567 | awk '{printf "%7d\n", $1}'
Isso funcionará em qualquer awk POSIX (não funciona com mawk ).
com gawk :
echo 1234567 | awk '{printf "%""\x27""d\n", $1}'