wcochran, I was thinking about exactly the same question, i.e.:
Is it possible to construct a non-zero vector perpendicular to a given one in 3D without using conditional statements (like if/else) or their analogs (like sign(expr))?
The answer is NO, IT IS NOT POSSIBLE!
This seams rather strange, since in 2D the answer to a similar question is yes, and it is a commonly used procedure.
Here is an idea for why it is not possible in 3D ...
Using cross product (discussed above) it is easy to construct a vector W perpendicular to any given ones U and V, as W=UxV. The problem with this procedure is that if U=cV, then W=0.
So, the problem reduces to constructing a vector V that is not a scalar multiple of U.
If we assume that all vectors under consideration have length 1, then we are working on the surface of a sphere.
Thus, an equivalent question is:
Is there a continuous (~avoids conditionals) mapping, V=f(U), of a sphere into itself such that neither f(U) nor -f(U) have a fixed point?
Here, a fixed point corresponds to a situation when V=+-U, and hence W=UxV=0.
I am sure the answer to the last question is NO, and it follows from "Brouwer fixed-point theorem". Unfortunately, I cannot make the connection precise at the moment.