The notation $\langle\psi\lvert= \hat{c_1} \langle 0\lvert $ is meaningless and should not be used. The correct way to think about your initial state $\lvert\psi\rangle = \hat{c}_1^\dagger \lvert 0 \rangle $ is as a matrix $\hat{c}_1^\dagger$ acting on the column vector $\lvert 0 \rangle$. Switching from a ket to a bra is equivalent to taking the complex-conjugate transpose, and since the transpose reverses the order of multiplication, the correct conjugate is
$$\langle\psi\lvert= \langle 0\lvert \hat{c}_1 .$$
Similarly, the notation
$$\langle(\hat{c}_1+\hat{c}_2)\langle 0\lvert \hat{S}\lvert (\hat{c}_1^\dagger + \hat{c}_2^\dagger)\lvert 0\rangle$$
is meaningless and should not be used. The object you're after, if I understand you correctly, is the expectation value of $\hat S$ in the state $|\psi\rangle = (\hat{c}_1^\dagger + \hat{c}_2^\dagger)\lvert 0\rangle$, and that's given by
$$\langle 0\lvert (\hat{c}_1+\hat{c}_2) \hat{S}(\hat{c}_1^\dagger + \hat{c}_2^\dagger)\lvert 0\rangle.$$
Note that in Dirac notation we never use intermediate bars between operators: it's $\hat{S} (\hat{c}_1^\dagger + \hat{c}_2^\dagger)$, not $\hat{S}\lvert (\hat{c}_1^\dagger + \hat{c}_2^\dagger)$.
Once you've done that, then it's perfectly acceptable to split up any sums, such as e.g.
$$\langle 0\lvert (\hat{c}_1+\hat{c}_2) \hat{S}(\hat{c}_1^\dagger + \hat{c}_2^\dagger)\lvert 0\rangle
=
\langle 0\lvert \hat{c}_1 \hat{S}(\hat{c}_1^\dagger + \hat{c}_2^\dagger)\lvert 0\rangle
+\langle 0\lvert \hat{c}_2 \hat{S}(\hat{c}_1^\dagger + \hat{c}_2^\dagger)\lvert 0\rangle.$$
As for this,
Here I do not need to put dagger, only for constants, is that correct?
I have no idea what you mean by "only for constants" - there are no constants in your expression. Any operator that's present as its hermitian conjugate should have a dagger; but double-daggers cancel out, in the sense that the hermitian conjugate of a hermitian conjugate returns you to where you started:
$$
\left(\hat c^\dagger\right)^\dagger = \hat c.
$$