Конкретно по Openstreetmap ничего не скажу, но по механизму в целом:
1) Храните данные о маркерах в базе
2) При клике на карту вытягиваете информацию об определенных (всех, или соответствующих вашему критерию) маркерах из базы. Вытягиваете посредством AJAX-запроса из JS на сервер, который и вернет нужные вам данные.
пример того, как это может происходить:
$('#map').click(function() {
$.ajax({
type: 'POST',
url: 'path_to_your_script',
success: function(data) {
markers = $.parseJSON(data);
// далее делаете с вашим массивом markers всё что хотите
}
});
});
При этом на сервере вы запрашиваете маркеры из базы, и передаете их в JS:
// в переменную $markers предварительно помещаете массив ваших маркеров
echo json_encode($markers);