1) Let me start by dealing with punctures and higher genus mapping class groups.
Aside from a few low-genus cases, there is no easy description of the mapping class group. As you said, the mapping class group of a torus is $SL_2(\mathbb{Z})$, and adding one puncture to a torus does not change its mapping class group (adding a boundary component, however, turns it into the 3-strand braid group).
In general (ie for $(g,n)$ not equal to the degenerate cases of $(1,1)$ or $(0,k)$ with $k$ at most $3$), you can relate the mapping class group $\Gamma(g,n)$ of a genus $g$ surface with $n \geq 1$ punctures to the mapping class group of a surface with fewer punctures via the Birman exact sequence. Two forms of it are:
$$1 \longrightarrow \pi_1(S_{g,n-1}) \longrightarrow \Gamma(g,n) \longrightarrow \Gamma(g,n-1) \longrightarrow 1$$
and
$$1 \longrightarrow B(g,n) \longrightarrow \Gamma(g,n) \longrightarrow \Gamma(g,0) \longrightarrow 1$$
Here $B(g,n)$ is the $n$-strand braid group on a genus $g$ surface. The map to the cokernel comes from "forgetting" punctures, and the kernel comes from "dragging" punctures around the surface.
A good reference for this material is the book "A Primer on mapping class groups" by Farb and Margalit, which is available here.
2) As far as moduli space goes, the moduli space of complex structures on a genus $g$ surface with $n$ punctures (as long as $g$ and $n$ are not too small) is isomorphic to the quotient of Teichmuller space by the mapping class group. It is thus no accident that the mapping class group appears in the description of moduli space. Again, Farb and Margalit's book is a nice source.