According to my old fashioned maths, 400 * 256 = 102,400. You have not said what sized values you are wanting to store.
The data sheet shows that MCU having space for 87552 instructions (excluding the auxiliary memory). Now each instructor is 24 bits wide (the addressing scheme will always return a top byte of all 0's for add addressed words - see Figure 4-2). Therefore you can use 34,134 instruction locations to store your array if the values are bytes, but unless you want to employ some very fancy decoding, you will be out of luck for 16-bit or longer values.
Basically, the rule is that trying to store large arrays in a microcontroller means you have selected an inappropriate design. At worst you could put the array into an external EEPROM.
Without knowing what sort of values are being stored, it is hard to offer alternative strategies - is the array sparse; can the values be calculated; is it something like a trig lookup table in which case it can be cut in 1/4 the size etc.
Susan