(a): The key is that any $f(z)=\frac{az+b}{cz+d}$ preserves the cross ratio. It can be proved directly, but follows in a more elegant manner from the following as well:
The best if we consider $\mathbb C^2$ instead of $\mathbb C$ (the complex projective plane) and identify each $z\in\mathbb C$ to any $(az,a)$ for $a\in\mathbb C\setminus\{0\}$. If $(a,b) = (\lambda\cdot a,\lambda\cdot b)$ then they represent the same element of $\mathbb C$.
It has more benefits, for example $\infty$ can be smoothly interpreted as $(1,0)$ (represented also by any $(a,0)$).
Lemma: Assume that ${\bf u},{\bf v}\in\mathbb C^2$ are given [representing $u,v\in\mathbb C$], and ${\bf w}={\bf u}+\alpha\cdot{\bf v}$, ${\bf z}={\bf u}+\beta\cdot{\bf v}$. Then
$$(uvwz) = \displaystyle\frac\alpha\beta $$
Lemma: For $f$ as above, and if $z\in\mathbb C\cup\{\infty\}$ is represented by $\bf z$, $f(z)$ is represented by
$$\left[\begin{array}{cc} a&b\\c&d \end{array}\right]\cdot {\bf z}$$
Ok, so, suppose we know $f$ preserves the cross ratio, and that $f(z_2)=1$, $f(z_3)=0$, $f(z_4)=\infty$. Then,
$$(z_1 z_2 z_3 z_4) = (f(z_1),1,0,\infty) = \text{by def.}= \displaystyle\frac{f(z_1)-0}{1-0} = f(z_1)$$
One direction of (b) is exactly my first statement up there, and the other direction is the existence of such $f$: For given different $w_2,w_3,w_4$, it is relatively easy to construct an $f$ such that $f(w_2)=1,\ f(w_3)=0,\ f(w_4)=\infty$.
The inverse of any $f$ as above can be given by inverting the matrix (note that we can discard the constant multiplier):
$\left[\begin{array}{cc} d&-b\\-c&a \end{array}\right] $, i.e. $f^{-1}(z)=\displaystyle\frac{dz-b}{-cz+a}$.
For (c), you may need the equation of an arbitrary circle on the complex plain, say with centre $c\in\mathbb C$ and radius $\varrho>0$. Then $z$ is on this circle iff
$$|z-c|=\varrho \iff (z-c)(\bar z-\bar c) = \varrho^2 \iff \dots$$
and that being real for any $s\in\mathbb C$ means that $s=\bar s$.
Best Answer
Let $$f(z) = \frac{az + b}{cz + d}.$$
First by normalizing $c=1$ ($c = 0$ is easily seen to be impossible), and then collecting a factor at the numerator, we may assume that $$f(z) = \alpha \frac{z + w_1}{z + w_2}.$$
The condition $|f(\infty)| = 1$ gives immediately that $|\alpha|=1$. Now the condition $|f(0)| = 1$ gives $|w_1|=|w_2|$, let's say $|w_1|=|w_2|=r$. Let now $t \in \mathbb{R}$. Then $$ |t+w_j|^2 = t^2 + 2t\mathfrak{Re}(w_j) + r^2 $$ for $j=1,2$. Hence, $|f(t)|=1$ if and only if $$ t^2 + 2t\mathfrak{Re}(w_1) + r^2 = t^2 + 2t\mathfrak{Re}(w_2) + r^2, $$ i.e., since $t$ is arbitrary, $$ \mathfrak{Re}(w_1) = \mathfrak{Re}(w_2). $$
Now $w_1$ and $w_2$ share the same modulus and the same real part, so either $w_1 = w_2$ and the function is constant equal to $\alpha$ (you can choose $\beta = 0$ in your formula), or $w_1 = \overline{w_2}$ as wanted.