The following claim in your post is not correct:
Then it means for any point $p$ not in Supp $\mathscr{G}$ and any open set $U$ contained $p$, $\mathscr{G}(U)$ should be empty set.
There needs to be a cofinal system of open neighborhood $U$ of $p$ where $\mathscr{G}(U)=\varnothing$ in order for $\mathscr{G}_p=\varnothing$, but there's no reason for this to be true for all open neighborhoods of $p$. For instance, consider a discrete two point space $\{p,q\}$ and the sheaf of sets $\mathscr{G}$ given by assigning $\mathscr{G}(\{p\})=\varnothing$ and $\mathscr{G}(\{q\})=\{1\}$. Then $\mathscr{G}(\{p,q\})=\{1\}\neq\varnothing$.
To see how the support of a sheaf of abelian groups is the union of the support of the sections, note that if $\mathcal{F}$ is a sheaf of abelian groups, then $\mathcal{F}_p\neq 0$ implies there's some element $s_p\in\mathcal{F}_p$ which is not zero. Now lift $s_p$ to a local section $s\in\mathcal{F}(U)$ for some open neighborhood $U$ of $p$ by the definition of stalks. Therefore $\operatorname{Supp}\mathcal{F} \subset \bigcup_{\text{all sections } s} \operatorname{Supp}(s)$. To show the reverse inclusion, if $p$ is a point in the support of a section $s\in\mathcal{F}(U)$, then $s_p\neq 0$ in $\mathcal{F}_p$, so $\mathcal{F}_p\neq 0$.
Finally, you're correct that the definition in the case of sheaves of abelian groups should be that $p$ is in the support iff $\mathscr{G}_p$ is not the zero group.
Your question is primarily about extending the proof of (a) $\implies$ (c) to sheaves of modules. To do so, it is helpful to first consider the special case of sheaves on $1$, which are just (up to equivalence of categories) ordinary modules. We consider the category of $R$-modules.
The task for (a) $\implies$ (c) in this case is as follows: we must show that if we have $R$-modules $F, G$ and a monomorphism $\phi : F \to G$ in the category of $R$-modules, then $\phi$ is injective.
To prove this, we note that $R$ itself provides a representation of the forgetful functor $R$-mod $\to Set$. In other words, there is a natural bijection $Hom(R, H) \to H$, where $H$ is an $R$-module. The bijection sends $f \in Hom(R, H)$ to $f(1)$. This means that the forgetful functor preserves monomorphisms, as all representable functors do (this is a good exercise - show that all representable functors preserve all limits, and therefore preserve monomorphisms). Thus, $\phi$ is a monomorphism of sets, hence injective.
Rephrasing in the language of sheaves on $1$, we found that the global sections functor $F \mapsto F(1)$ from sheaves of $R$-modules to sets is representable by $R$. So if we want to generalise to sheaves on $X$, we will want to show that the functors $\mathcal{F} \mapsto \mathcal{F}(U)$ are representable for all $U$.
In the general case, we have a sheaf of rings $\mathcal{R}$, and we wish to represent the functor $\mathcal{F} \mapsto \mathcal{F}(U) : $sheaves of $\mathcal{R}$-modules $\to Set$. It turns out that the relevant representing object is given by $C_U = i(D_U)$, where $i : PSh(X) \to Sh(X)$ is the sheafification functor and $D_U$ is defined by
$D(U)(V) = \begin{cases} R(V) & V \subseteq U \\
0 & otherwise \end{cases}$
You considered $D(U)$ as a possibility in your question (it was option 3), but you didn't come up with the insight that you had to sheafify it.
One can get a natural bijection $Hom_{\text{sheaves of } \mathcal{R} \text{-modules}}(C_U, \mathcal{F}) \cong Hom_{\text{presheaves of } \mathcal{R} \text{-modules}}(D_U, \mathcal{F}) \cong \mathcal{F}(U)$. This is enough to complete the proof, and these are the "indicator sheaves" you are looking for. $\square$
If all you care about is finishing your proof, you can stop reading here. However, you may understandably find this a bit frustrating, since it is not entirely obvious where the magic $C_U$ come from. I will attempt to shed some light on the subject.
Another route to the proof in the case of ordinary modules that monomorphisms are injections goes like this. First, note that given any set $S$, we can explicitly construct $\bigoplus\limits_{s \in S} R$, the free $R$-module on $S$ - the construction is functorial in the obvious way. We can show that this free functor is the left adjoint of the forgetful functor $R$-mod $\to Set$. Therefore, the forgetful functor, being a right adjoint, preserves limits and thus preserves monos. A mono in the category of $R$-modules is therefore a mono in the category of sets.
This construction actually works in any topos with natural numbers object. In particular, it works in the topos of sheaves of sets on a space $X$. Given a sheaf of sets $\mathcal{S}$, we can construct the internal free module $\bigoplus\limits_{s \in \mathcal{S}} \mathcal{R}$. If you are familiar with the internal logic of a topos, this can be done in a fairly straightforward way by carrying out the normal set-theoretic construction within the internal logic (but you must be careful to use a purely constructive approach - defining $\bigoplus\limits_{s \in S} R = \{f \in \prod\limits_{s \in S} R \mid \{s \in S \mid f(s) \neq 0\}$ is finite$\}$ will not work unless every open set in $X$ is also closed). From here, we can show that the internal free module functor is the left adjoint to the forgetful functor which takes a sheaf of modules and outputs its sheaf of sets. A monomorphism in the category of sheaves of modules is therefore a monomorphism in the category of sheaves of sets. We then apply the fact that (a) $\implies$ (c) holds for monomorphisms of sheaves of sets to conclude it also holds for monomorphisms of sheaves of modules.
This approach is very general. It applies not only to modules but also to all kinds of purely equational algebraic structures, and it applies not only to sheaves on a space but also to all sorts of other toposes with NNO (and even $\Pi W$ pretoposes). And it sheds some light on how we came up with $C_U$.
Given any open $U \subseteq X$, we have the yoneda sheaf $y(U) \in Sh(X)$, which is defined by
$y(U)(V) = \begin{cases} 1 & V \subseteq U \\ \emptyset & otherwise \end{cases}$
and has the property that, in the category of sheaves of sets, there is a natural isomorphism $Hom(y(U), \mathcal{F}) \to \mathcal{F}(U)$.
Then it turns out that $C_U$ is the sheaf $\bigoplus\limits_{s \in y(U)} \mathcal{R}$. Thus, $Hom_{\text{sheaves of }\mathcal{R} \text{-modules}}(C_U, \mathcal{F}) \cong Hom_{\text{sheaves of sets}}(y(U), \mathcal{F}) \cong F(U)$. So there was actually no "magic" at all needed to come up with $C_U$, merely some intuition about how the internal direct sum works.
Best Answer
To elaborate on my comment, the germ of $f(x)$ at 2 is \begin{equation} (f(x))_2=\begin{cases}0 &\text{if } x\geq 2\\ -\frac{1}{2}x+1 & \text{otherwise}\end{cases} \end{equation}
(this is on an "arbitrarily small" open neighborhood of 2)
Similarly, the germ of $f(x)$ at 4 is
\begin{equation} (f(x))_4=\begin{cases}0 &\text{if } x\leq 4\\ \frac{1}{2}x-2 & \text{otherwise}\end{cases} \end{equation}