А зачем? Никто ведь не мешает обойти массив в том порядке, который нужен.
Потому что иначе, по причине отсутствия динамических массивов, простой реализации не получится, придётся городить что-то подобное:
TYPE
Chunk = POINTER TO ChunkDesc;
ChunkDesc = RECORD next : Chunk; END;
Chunk1024 = POINTER TO Chunk1024Desc;
Chunk1024Desc = RECORD( ChunkDesc ) value: ARRAY 1024 OF INTEGER; END;
Chunk512 = POINTER TO Chunk512Desc;
Chunk512Desc = RECORD( ChunkDesc ) value: ARRAY 512 OF INTEGER; END;
...
ChunkXXX = POINTER TO ChunkXXXDesc;
ChunkXXXDesc = RECORD( ChunkDesk ) value : ARRAY XXX OF INTEGER; END;
LIST = Chunk;
Или вообще, каждый элемент оборачивать. Но в любом случае, чтобы получить динамику, придётся городить списковые структуры или даже деревья.