Well, First from {CheckboxBar[ Dynamic[x], {1, 2, 3, 4 -> "SelectAll", 5 -> "SelectNone"}], If[MemberQ[x, 4], x = {1, 2, 3}, If[MemberQ[x, 5], x = {}]]} is just CheckboxBar[ Dynamic[x], {1, 2, 3, 4 -> "SelectAll", 5 -> "SelectNone"}]. But let's leave this aside.
CheckboxBar has some non trivial action behind so in this case the DynamicWrapper will be the most convenient:
DynamicModule[{x}
, DynamicWrapper[
CheckboxBar[ Dynamic[x], {1, 2, 3, 4 -> "SelectAll", 5 -> "SelectNone"}]
, If[MemberQ[x, 4], x = {1, 2, 3}, If[MemberQ[x, 5], x = {}]]
]
]