Usei o for entre "crases" para não confundir-se com a construção externa "$()", mas também poderia ser usado se quisesse
CIDADE=$(eval whiptail --title \"PROGRAMA PARA CADASTRO DE IPS PARA BACKUP\" --menu \"Escolha o LOCAL\" 15 60 4 `for city in "${!CIDADES[@]}";do echo -n "\"$city\" \"${CIDADES[$city]}\" ";done` 3>&1 1>&2 2>&3)
[]'s
Itamar