Two tips: 1) It sometimes helps to rephrase the sentence into an equivalent English-sentence that looks easier to analyze. 2) Often times, you can break down the sentence to make it easier to parse. If you have trouble wrapping your head around the sentence, try phrasing it in a slightly more suggestive way. For instance:
"Every grandparent is such that either they have only daughters, or they have exactly two sons, or they have no children."
In general, "Every $\varphi$ is such that $\psi$" gets translated into the predicate calculus as $\forall x (\varphi(x) \rightarrow \psi(x))$. Your $\varphi(x)$ here is "$x$ is a grandparent", whereas your $\psi(x)$ is "$x$ either has... (etc.)". So overall, the translation should look like this:
$\forall x(x \text{ is a grandparent} \rightarrow x \text{ either has only daughters, or exactly two sons, or is childless})$
So if you can figure out how to say "$x$ is a grandparent" and "$x$ either has only daughters, or has exactly two sons, or is childless", then you'll know how to translate the sentence.
How do you say "$x$ is a grandparent"? Basically, it amounts to saying that $x$ has some child, who also has some (other) child. So this just amounts to $\exists y (C(y,x) \wedge \exists z(C(z,y)))$. This formula (which has $x$ free btw) is your $\varphi(x)$, which goes in the antecedent of the conditional of your universally quantified sentence.
How do you say "$x$ either has only daughters, or exactly two sons, or is childless"? Well, it seems to be a disjunction about $x$, so split it up into cases: if you know the whole thing is a disjunction, you can tackle each disjunct separately and then put it all together with $\vee$s at the end. So you just need to analyze "$x$ has only daughters", "$x$ has exactly two sons", and "$x$ is childless". Hopefully, things are clear enough that you can do these on your own.
You have discovered the same problem that Kracht discusses in "The Mathematics of Language", chapter 4, section 5, the variable $y$ is dependent on $x$ in the sentence $(\forall x, \exists y(x), R(y(x),x))$. (Kracht does not originate this observation; this is just a discussion of the difficulty which I have read.)
You appear to be re-inventing the bijection between Boolean rings and Boolean algebras. See the English Wikipedia's Boolean Algebra:Boolean Rings for the discussion of this bijection and statements of your initial formulas. That section also references Hsiang's (1985) algorithm for testing formula equivalence (of which your particular problems are a specilization -- you wish to verify that your formulas are equivalent to $1$) as well as the paper by Boudet, Jouannaud, and Schmidt-Schauß (1989). That section also indicates that these results are relevant for automated theorem proving. So this appears to be well-travelled ground.
The English Wikipedia section Automated Theorem Proving:Decidability of the Problem gives some insight into the feasibility of this method (more accurately into the time feasibility of all known methods, including this one). Although the guarantees for arbitrary problems are weak (exponential running times or unbounded running times for propositional logic and predicate calculus, respectively), practical results are not so pessimistic.
Best Answer
First Skolemize. In other words, replace all existential quantified statements with appropriate terms. In your example, this means you just replace variables with constants and drop all existential quantifiers. You can also drop all universal quantifiers once you've Skolemized since you'll have them implicitly.
Second, apply the INDO method. In other words, remove all Implications by transforming them into disjunctions, remove all Negations of anything which isn't a literal via De Morgan/Petrus Hispanus laws, then Distribute everything, and finally get rid of the Operators (if you need to convert to sets).