WeBWorK Problems

Yes to both. You can use the sprintf mechanism of selecting an entry in the list of answers by its index. That is, use "%n$s" where "n" is the index of the entry in the ist (the first one has n=1 not 0). So format=>'%3$s,%2$s,%1$s' would print the first three answers in reverse order. Note that you should use single quotes, not double quotes, to avoid having perl interpret this as variable substitution for $s. (If you use double quotes, you would need to use "%3~~$s,..." so as to get a single slash to quote the dollar sign.)