"Not enough RAM " error in PIC16F877a
The PIC16f877a only has 368 bytes of memory, meaning that the 8x8 array is already in danger of exhausting available memory (either 128 or 256 bytes depending on sizeof(int)) given a requirement for other structures (other symbols, stack, etc).

However, in the second program, your compiler recognizes that you do not access the 80x80 array in any way, and thus optimizes it out. As a result, the linker doesn't need to find space for a variable of size 80*80*sizeof(int) bytes and the program is successfully compiled and linked.

Presumably, you are only using each element of the array for a single boolean value--in that case you can reduce your space requirements to 64 bytes of space by packing the data more efficiently. This answer describes one way to do this, where bitwise operations are used to index into an array of uint8_t values. Alternatively, you could try using your existing technique (2D integer array) with a uint8_t[8][8] to avoid making larger code changes, but this remains wasteful of memory (8x waste).