I'm not very familiar with NXT-G, but using the file system as RAM seems like a very bad idea. The files are stored in flash, and there is a (rather low) limit of how many times you can re-write the flash. Also, file access usually requires a good bit of overhead, for things like file handles, etc.
Just a suggestion, but you should consider using a more advanced programming language. NXC is open source, and there is a lot of support (especially on these forums). I know NXC supports arrays of up to 3 dimensions (using the NXC Enhanced FW), but I think it might support 4 or more.
I'm all for gun control... that's why I use both hands when shooting