Ответ 1
Да, блоки являются допустимыми Objective-C объектами, следуя всем соглашениям NSObject. Просто сделайте копию/авторекламу:
[array addObject:[[block copy] autorelease]];
Для ARC - оставьте вызовы копирования и автоответчика:
[array addObject:block];