Sounds like a turn based, team strategy shooter
DarkBasic could handle such a thing, fairly easily. I'm not sure if you're going to do it tile based (either square grid or hex) or if you'd be doing it freeform (point and click and distance based) but either should be possible.
I've not used DarkAI myself, but I hear it's rather good and quick to get to grips with. Even if you didn't get it - line of sight checks are quite simple in 3d, though a little trickier in 2d (you need to store the 'opacity' of a tile, and do your own line check).
Detecting the lightness of an enemy (for hiding in shadows etc) would be easiest done in 3d also - you'd put some lights into the world and do distance checks (simple square roots) and brightness comparisons to get how illuminated the agent would be. (You'd probably have to do line of sight checks to each light too, to make sure they're not behind something).
Directional lights, and spot lights can be done real time in DB, but you'd probably want to add some graphical effect to show off the beam of the torch.
Hope that helps - in my opinion, you might be best starting off in 3d (and using cubes as placeholder entities) to shortcut the line of sight checks.
If you wanted more complex line of sight, you could do a check between the head/eyes position of your soldier, and do several checks against random points within the bounding box of your enemies. That might help alleviate the old "I can see him, but I can't shoot him" problem.