Надо вызвать функцию один раз. При клике работает это и вызывает функцию addTemplate.
$(function () {
$('#templates_available').on('click', '.list-group-item', addTemplate);
});
Функция addTemplate
function addTemplate() {
var $target = $(this);
var $input = $('<input>', {'type': 'hidden', 'name': 'template', 'value': $target.data('id')});
$('<a />', {'href': '#', 'class': 'list-group-item', 'data-id': $target.data('id')})
.append($('<span />').html($target.data('value')))
.append($input)
.appendTo('#templates_selected');
}