my rshift has shit under it and i don't feel like using lshift so bear with the lack of capitalisation.
you want the towers to target the frontmost enemy. forget about the 'threat level' stuff. if a lesser threat enemy is in front of a greater one, it'll die first anyway and the turret will move onto the next dude in sequence.
give each enemy an incremental ID when they are created, and have the turret target the one with the lowest ID of those in range.
the reasoning is that unless there's a standard, logical way of allocating targets, your damage will be applied inefficiently. it makes the most sense to target the frontmost first since it'll always be the first one to come within range. this way when the frontmost enemy move out of range the next frontmost is targeted and so on, so the damage is distributed towards the front of the pack, meaning as soon as the front target dies the next target will be in a weakened state, and the turrets further down the line will move on to progressively weakened targets.
you'll see that the Chebyshev and Manhattan formulae produce very different results, with the former being consistently more accurate, and not significantly more complex.
Getting back to the original question, and having actually looked up precisely what a tower defense game is (http://www.jeannettevejarano.com/tower-defence.swf), I'd have to say that Radix is totally right (at least assuming you don't make it any more complex - different attackers having different vulnerability to different turrets etc), and for something this simple there's probably nothing wrong with using a hidden circle object to determine what's in range, as someone else suggested. Feel free to ignore everyhting I posted...