ABRecord is an opaque Core Foundation class without a corresponding toll-free bridged objective-c class. If it were an Objective-C class, you could've just used NSCoder as @Toro suggests.
Assuming your mutable array is a list of ABPerson references, you can do something like this:
NSMutableArray newArr = [NSMutableArray array];
for(id obj in mutableArray) {
ABRecordRef ref = (ABRecordRef)obj;
ABRecordID recordID = ABRecordGetRecordID(ref);
NSValue* v = [NSValue value:recordID withObjCType:@encode(ABRecordID)];
[newArr addObject:v];
}
// newArr is a list of NSValues holding ABRecordIDs, which can be serialized.
While unserializing, get the ABRecordID from each NSValue and then call ABAddressBookGetPersonWithRecordID() on it to get the ABRecordRef back. Just remember that it's possible that the record might be deleted by the user and as a result, you might get a NULL value back from this function.