Blender game engine track to a property
You can only track one object at any given time, so you'll need to define a set of priorities by which a single target can be selected from a group of valid candidates (objects with the relevant property).

For example, if you wanted to track the closest object with the relevant property, you could do it with this function:

# track.py

def target_prop(cont):
    self = cont.owner
    objects = self.scene.objects

    tracked = [o for o in objects if self["target_prop"] in o]
    tracked.sort(key=lambda o: self.getDistanceTo(o))

    target, *_ = tracked

    act_track, *_ = cont.actuators
    act_track.object = target

    for act in cont.actuators:
        cont.activate(act)


Example: track_to_prop.blend

As you can see, you can specify the target property via a property on the tracking object (target_prop in this case). Also, you can set the always sensor to "true level triggering" (aka: "pulse mode"), to constantly re-evaluate the closest target, if that's required.