Handling a big array that is splited in two or more arrays isn't that complicated.
Create two arrays, let's say arr1 and arr2.
Then create a procedure and a function to set/read the big array, here the function to read:
For setting, create a procedure with two parameters: index and value to set.
If you have more small array parts than fit into one Dat file, you must declare them global, or you need to create global function/procedure in every corresponding src file, and call them to access the small arrays.
Hope it's clear what I mean, otherwise ask.