i guess you should put the LOS-condition before the Pick Closest-condition, otherwise you might pick nothing.
for next target: you could tag the currently targetet enemy in some way (e.g. set a private variable 'isTarget'); that way you don't have to constantly run the targetting procedure, but can simply pick him. for next/prev target, you probably want a mechanism to pick the next enemy clockwise/counterclockwise to the target (with the player as center). there are two things that will help you: the AngleDiff( a, b ) expression and the 'Is Angle Clockwise to...' condition. you will probably need to put the enemy object into two different families, too, which is a workaround sometimes needed for picking 2 objects of the same object type. this sounds confusing, so here's an example:
let's say the currently targetet enemy has a pv called 'isTarget' that is set to one. let's also say that the enemy object is member to the families 'RED' and 'BLUE'.