Saving values in a VectorFunctionSpace function

please read Read before posting: How do I get my question answered?. The code you provide is not reproducible, and not correctly formatted.

In general, the answer to

Isn’t it possible to use .vector()[:] with 2D arrays?

is no. It would be good to clarify why you would want it to be a 2D array. Is it because you interpret the first column of the 2D array is the first component of q, and the second column is the second component?