HTML:

<ya-map ya-zoom="8" ya-center="[37.75,55.43]">
    <ya-collection ya-after-init="afterInit($target)">
        <ya-geo-object ng-repeat="o in geoQuerySource" ya-source="o"></ya-geo-object>
    </ya-collection>
    <ya-geo-object ya-source="circle" ya-options="{draggable:true}" ya-event-drag="drag($event)"></ya-geo-object>
</ya-map>
    

javascript:

var objects, collection;
$scope.afterInit = function(col){
    collection = col;
};
$scope.circle = {
    geometry:{
        type:'Circle',
        coordinates:[37.7,55.43],
        radius:10000
    }
};
$scope.geoQuerySource = [
    {
        geometry:{
            type: 'Point',
            coordinates: [37.75,55.73]
        }
    },
    {
        geometry:{
            type: 'Point',
            coordinates: [37.45,55.10]
        }
    },
    {
        geometry:{
            type: 'Point',
            coordinates: [37.35,55.25]
        }
    }
];
$scope.drag = function(event){
    if(!objects){
        objects = ymaps.geoQuery(collection);
    }
    var circle = event.get('target');
    var objectsInsideCircle = objects.searchInside(circle);
    objectsInsideCircle.setOptions('preset', 'twirl#redIcon');
    // Оставшиеся объекты - синими.
    objects.remove(objectsInsideCircle).setOptions('preset', 'twirl#blueIcon');
};

Перетаскивайте круг и следите за цветом меток