We can use Bob Hanlon's answer as the basis for figuring out how to answer your 3rd question.
With[{n = 10},
Manipulate[Row[{"checked: ", Length[boxes], " values: ", boxes}],
{{boxes, {}, ""},
Table[m -> Subscript["n", m], {m, n}],
ControlType -> CheckboxBar,
Appearance -> ("Horizontal" -> {Automatic, 5})}]]

This tells us that boxes
is a list of the checked boxes, not sorted, but maintained in the order in which they were checked. There are many way to use this information. I will discuss a couple of them, both depending on the function MapAt
.
If you want the same action to applied to all the checked items, a direct application of MapAt
will do. The following will highlight any grid item in red when the corresponding checkbox is checked.
With[{n = 10},
Manipulate[
Grid[
TakeDrop[
MapAt[Style[#, Red] &, items[[All, 2]], {#} & /@ boxes],
Quotient[n, 2]],
Dividers -> All],
{{items, Table[m -> Subscript["n", m], {m, n}]}, None},
{{boxes, {}, ""}, items,
ControlType -> CheckboxBar,
Appearance -> ("Horizontal" -> {Automatic, 5})}]]

A more general way would be create an association of actions. Using such an association requires a little deeper understanding of Mathematica, but isn't too hard. My example is somewhat contrived; it is a grid which shows the power of 2 for those powers indicated by a checked box.
With[{n = 10},
DynamicModule[{actions},
actions = AssociationThread[Range[n], Function /@ Table[#^i, {i, n}]];
Manipulate[
Grid[
{{"Powers of 2", SpanFromLeft}} ~ Join ~
TakeDrop[
(Composition @@ (MapAt[actions[#], #] & /@ boxes)) @ ConstantArray[2, n],
Quotient[n, 2]],
Dividers -> All],
{{items, Table[m -> "2"^m, {m, n}]}, None},
{{boxes, {}, ""}, items,
ControlType -> CheckboxBar,
Appearance -> ("Horizontal" -> {Automatic, 5})}]]]

CheckboxBar
? $\endgroup$Manipulate[n1 + n2 + n3, Row[{Control@{n1, {1, 0}}, Control@{n2, {1, 0}}, Control@{n3, {1, 0}}}]]
$\endgroup$