Assuming the other arrays also contain only numbers, strings, and arrays (or other property list types), a plist would be a great way to store your data. It will keep it's order, and is simple to use.
To write an array to a plist file, use writeToFile:atomically:.
[myArray writeToFile:@"path/to/file.plist" atomically:YES];
To read it, use initWithContentsOfFile:.
myArray = [[NSMutableArray alloc] initWithContentsOfFile:@"path/to/file.plist"];
However, that will create a mutable array with non-mutable contents. To create an array with mutable contents, you can use CFPropertyListCreateDeepCopy.
NSArray *temp = [[NSArray alloc] initWithContentsOfFile:@"path/to/file.plist"];
myArray = (NSMutableArray*) CFPropertyListCreateDeepCopy(kCFAllocatorDefault,(CFArrayRef)temp,kCFPropertyListMutableContainers);
[temp release];