Откажитесь от ФорИч, разделите метод на две логических части - поиск и действие. Я не уверен, что у вас и как работает (может там нельзя сравнивать через indexOf, хотя вы и сравниваете)
function matches (point, target) {
return point === target; // тут надо правильное условие написать
}
function findIn (coordinates, target) {
for (var i = 0; i < coordinates.length; i++) {
if (matches(coordinates[i], target)) return coordinates[i];
}
return null;
}
elem.on('clickAddress', function(e, coord) {
const result = findIn( coordinates, coord );
if (result) {
placemark.balloon.open();
}
});
Я знаю, что у вас не совсем та логика, но стараюсь передать идею. Если можно открыть одновременно нескоьлко балунов - возвращайте массив. Пока у вас непонятное что-то написано. Особенно не хватает типизации, например, что находится в переменной coord - совершенно непонятно, что вы её indexOf вызываете.