Sorry for the delay in responding; I had to dust it off and fiddle around to get it working again. On the plus side, it now works under both Enketo and Collect! I've posted it here: Randomizing the order of questions
BTW, thanks for inspiring me to finally revisit it... 
Thank you very much for your valuable response
Sorry to take you back to 2014. This is possible
Step 1: Randomize the questions in a .csv file
Step 2: Use the random() function to generate random numbers as 1-9 e.g. round(${Rand}*9). "Note, these are two separate calculate variables"
Step 3: Pull the value label in a calculated field using the function pulldata('csv_file', 'order_value', 'order_id', ${Random_Value_Above}).
Step 4: Pipe above the calculated field as per the question.
Hope this solves the problem