The declare command takes assignments as arguments, which are expanded before the declaration. Thus, you can introduce any level of indirection when declaring variables. The following works in Bash 3.2.
$ array=myarray
$ declare -a "$array+=(\"element 1\")"
$ echo ${myarray[0]}
element 1