Você precisa usar ${id[@]} para indicar todos os elementos da matriz id :
$ for i in "${id[@]}"; do echo "This is "${header["$i"]}""; done
This is X Value
This is Y Value
This is Z Value
Enquanto você está recebendo apenas o primeiro elemento usando $id :
$ for i in "$id"; do echo "This is "${header["$i"]}""; done
This is X Value