To store an array of integers, you will usually use the table object. To store an array of floating point values, you can use the buffer~ object. Although the buffer~ object is normally used for storing audio data, it can easily be used simply as an array of floats, accessed by the peek~ object, which works even when MSP audio is not on.
The term "upsample" is used in digital audio and video to mean increasing the sampling resolution of a sound or an image. More generally the term can be used to mean increasing the size of a set of numbers by some factor, keeping the original numbers and using interpolation to determine the values of the new intermediate numbers.
If you want to isolate a particular subset of a matrix—such as a single column, or a single row, or really any rectangular portion of the matrix—a handy object for that purpose is jit.submatrix.
Storage of large quantities of numerical data is exactly what Jitter is for. You might commonly think of the data in Jitter matrices as representing pixels of a video image, but in fact you can use the jit.matrix object to store any large sets of (multi-dimensional arrays of) numbers, which can be used for any purpose.