1. Так у вас так и сделано - массив вне цикла и внутри работаете с ним
2. Событие навесить на обертку, а по всплытию события проверять нужная ли кнопка нажата
3. На мой взгляд лучше создать класс Popup и написать для него методы открытия/закрытия и т.д. и для каждого экземпляра попапа создавать свой персональный объект. Тогда не придется каждый раз заново искать все попапы, их кнопки и т.д. А так же код будет красивее оформлен и проще будет использовать его повторно