What I think you're looking for is the enumeration of full binary trees of size 5. (The count of such objects is the fifth Catalan number, which is 14.). The enumeration is straight-forward, based on the standard recursion for Catalan numbers:
For each (i, 5-i), produce all the trees with i
leaves, and all the trees with 5-i
leaves, and for each combination of one tree from each set, construct a new tree by making a root node whose left child comes from the first set and whose right child comes from the second set. If you don't want to use trees, use RPN directly:
# Produces all possible RPN layouts with n values and n-1 binary operators,
# representing values as '#' and operators as '+'
def RPN(n):
if n == 1:
yield '#'
for i in range(1,n):
for left in RPN(i):
for right in RPN(n - i):
yield left + right + '+'
Of course, there are unary operators as well. If you allow those, it gets more complicated.
Note that you can directly adapt the above to insert the arguments directly; instead of dividing n into (i, n-i), you would find all the partitions of the set of n values into two non-empty subsets. (Otherwise, you can just find all the permutations of the set of numbers, and plug them into the resulting RPN expressions.)
Then "all" you need to do is insert all possible operator sequences (if you only allow +,-,* and / then you have 44 = 256 possibilities).
So if the five numbers were distinct, you would end up with 14 * 5! * 44 = 430080 expressions to test.