Something like the following:

    Map[Sort[#] &, list]
    (*{{{a, 1}, {b, 3}, {c, 5}}, {{a, 5}, {b, 1}, {c, 3}}, {{a, 5}, {b, 3}, {c, 1}}, {{a, 1}, {b, 5}, {c, 3}}}*)

A first approximation:

    MyOrderList[list_List, order_?(Positive[#] && Element[#, Integers] &)] := 
    Block[{slist, perm, mylist},
    slist := Map[Sort, list];
    perm = Mean[Map[Composition[Length, Permutations[#] &], slist]];
    mylist := 
    Table[Table[Extract[Select[Tuples[slist[[i]], Length[slist[[i]]]], 
    ContainsAll[#, slist[[i]]] &], j], {i, 1, Length[slist]}], {j, 1, perm}][[order]];
    Return[If[order <= perm, mylist, HoldForm[MyOrderList]]];
    ];
    
    Tests:

    MyOrderList[list, 1]
    (*{{{a, 1}, {b, 3}, {c, 5}}, {{a, 5}, {b, 1}, {c, 3}}, {{a, 5}, 
      {b, 3}, {c, 1}}, {{a, 1}, {b, 5}, {c, 3}}}*)
    MyOrderList[list, 2]
    (*{{{a, 1}, {c, 5}, {b, 3}}, {{a, 5}, {c, 3}, {b, 1}}, {{a, 5}, 
      {c, 1}, {b, 3}}, {{a, 1}, {c, 3}, {b, 5}}}*)
    MyOrderList[list, 3]
    (*{{{b, 3}, {a, 1}, {c, 5}}, {{b, 1}, {a, 5}, {c, 3}}, {{b, 3}, 
      {a, 5}, {c, 1}}, {{b, 5}, {a, 1}, {c, 3}}}*)
    MyOrderList[list,4]
    (*{{{b, 3}, {c, 5}, {a, 1}}, {{b, 1}, {c, 3}, {a, 5}}, {{b, 3}, 
      {c, 1}, {a, 5}}, {{b, 5}, {c, 3}, {a, 1}}}*)
    MyOrderList[list,5]
    (*{{{c, 5}, {a, 1}, {b, 3}}, {{c, 3}, {a, 5}, {b, 1}}, {{c, 1}, 
      {a, 5}, {b, 3}}, {{c, 3}, {a, 1}, {b, 5}}}*)
    MyOrderList[list,6]
    (*{{{c, 5}, {b, 3}, {a, 1}}, {{c, 3}, {b, 1}, {a, 5}}, {{c, 1}, 
      {b, 3}, {a, 5}}, {{c, 3}, {b, 5}, {a, 1}}}*)

Another approach using the idea of [@cvgmt][1]:

      MyOrderList[list_List, order_List] := 
      Block[{slist, sorder, ordering, mylist},
      slist := Map[Sort, list];
      ordering := 
      Extract[Permute[Ordering[Sort[order]], Ordering[#]] & /@ 
      Permutations[order], {1}];(*@cvgmt*)
      mylist := Table[slist[[i]][[ordering]], {i, 1, Length[slist]}];
      Return[mylist];
       ];

Test:

    MyOrderList[list, {b, c, a}]
    (*{{{b, 3}, {c, 5}, {a, 1}}, {{b, 1}, {c, 3}, {a, 5}}, {{b, 3}, 
      {c, 1}, {a, 5}}, {{b, 5}, {c, 3}, {a, 1}}}*)

Another approach using the idea of [@kglr][1]:   

     MyOrderList[list_List, order_List] := 
     Block[{slist, sorder, ordering, mylist},
     slist := Map[Sort, list];
     ordering := 
     Extract[Map[Ordering@*Ordering, Permutations[order]], {1}];(*@kglr*)
     mylist := Table[slist[[i]][[ordering]], {i, 1, Length[slist]}];
     Return[mylist];
       ];

Test:

    MyOrderList[list, {c, a, b}]
    (*{{{c, 5}, {a, 1}, {b, 3}}, {{c, 3}, {a, 5}, {b, 1}}, {{c, 1}, 
      {a, 5}, {b, 3}}, {{c, 3}, {a, 1}, {b, 5}}}*)

  [1]: https://mathematica.stackexchange.com/questions/258525/a-question-about-ordering-command/258528#258528