How to select only the enemies in a range as targets

Okay,
I have a list of enemies

public var enemies:GameObject[];

That include all of the enemies currently in the scene.
I also have a list of targets:

public var targets:GameObject[];

Which I would like to include all of the objects between a certain range/distance(example: from 5 feet away and at a 45 degree angle each direction.)

How could I isolate only those objects? I am looking more for a method than the actual script, but if you feel obliged to do so, it will also be helpful.

Thanks,

Thor

I ended up using Physics.OverlapSphere and system.collection.generic.list.

public var enemiesInRange : List.<GameObject> = new List.<GameObject>();
function Update(){
var hitColliders : Collider[] = Physics.OverlapSphere (transform.position, circleRadius);
 for (var hit : Collider in hitColliders) {  
if(hit.gameObject.tag == "Enemy"){
enemiesInRange.Add(hit.gameObject);
}
}
//From here you can use
var targets:GameObject[];
targets = enemies;
}

In this case I will normally attach some kind of trigger volume to my character so I can just add things as they pass into the trigger. Another way is to iterate over your array or targets and then use Vector3.distance and then check how “far” they are and then act on only the ones under a certain threshold.