The compiler will try to allocate 400 addresses in ROM for the array, that is much bigger than each page of memory so the compiler has tried to split it into smaller sections but still not managed. You are trying to use 20% of the entire PIC memory for the one array. If you really need to do that, try re-coding so the array is smaller or store the constants in a different way.
It is possible to use larger variables in the 16F and 18F PIC series too, with a trick in the linker script. A detailed explanation on how this can be done is described for example **broken link removed**.