Supondo que suas chaves não contêm dois pontos ou novas linhas e seus valores não contêm novas linhas:
for key in "${!MYARRAY[@]}"; do
printf '%s:%s\n' "$key" "${MYARRAY[$key]}"
done | sort -t : -k 2n
Se você precisar organizar a chave na ordem dada pelos valores, leia a saída:
IFS=$'\n'; set -f
sorted_keys=($(
for key in "${!MYARRAY[@]}"; do
printf '%s:%s\n' "$key" "${MYARRAY[$key]}"
done | sort -t : -k 2n | sed 's/:.*//'))
unset IFS; set +f