Adding an "if" condition is unnecessary as all conditions imply an "if".
"else" would be nice to have as Construct Classic has it, but it can be simply done with inverted conditions.
<img src="http://dl.dropbox.com/u/5426011/pics/ifelse2.png" border="0" />
Which is what the branch plugin does, but if you want if/else to work with picking the you'll have to resort to events:
<img src="http://dl.dropbox.com/u/5426011/pics/ifelse1.png" border="0" />
"or" can be done like traditional programming by using a local variable:
<img src="http://dl.dropbox.com/u/5426011/pics/or.png" border="0" />
Or if you want to use "or" with picking:
<img src="http://dl.dropbox.com/u/5426011/pics/or_with_picking.png" border="0" />
"while" isn't really necessary as we already have the looping conditions "for" and "repeat".