Передача сообщений между различными представлениями может быть сделана прямым вызовом методов (не очень хорошее архитектурное решение, но, возможно, не критично для небольших проектов) или моделью, управляемой событиями, как описано в ответе выше.
Что касается связывания коллекции объектов и последующей обработки, я рекомендую просмотреть ключевое слово IBOutletCollection, которое позволяет связывать несколько объектов из InterfaceBuilder со свойством с типом, подобным NSArray.
Объявление свойства будет выглядеть следующим образом:
@property (nonatomic, retain) IBOutletCollection(UIButton) NSArray *buttons;
Код для изменения фона для всех кнопок будет выглядеть следующим образом:
UIImage *backgroundImage = [UIImage imageNamed:@"background.png"];
for(UIButton *button in buttons) {
[button setBackgroundImage:backgroundImage forState:UIControlStateNormal];
}