Could this work for your problem?

 A = {a, b, c, d, e, f, g}
 list = Union[Flatten[Map[Partition[#, 2] &, Permutations[A]], 1]]
 Extract[list, RandomInteger[{1, Length[list]}]]

Change the predicate in the Partition function for different lengths.