A predicate within a predicate? I'm new here. I wish to ask a question regarding predicate logic:

I was given three predicates:

parent(p,q): p is the parent of q.

female(p): p is a female.

p = q: p and q are the same person.

Now, I was tasked with translating this sentence: Alice has a daughter.

My answer was: There exists a q such that parent(Alice,female(q)).

The answer given is: There exists a q such that female(q) AND parent(Alice,q).

Is it correct to have a predicate (in this case, female) within another predicate (in this case, parent)?

Much appreciated.
Intuitively, a predicate in a predicate doesn't make sense; predicates only take terms as arguments. Using the normal convention of abbreviating predicates and terms by letters ($P(p,q)$ for parent, $F(q)$ for female, $a$ for Alice), your example is
$$\exists q\ P(a,F(q))$$
which is interpreted as "Alice is the parent of true" &ndash; absurd, since children aren't truth values. In other words, your attempt does not produce a well-formed formula.

The given answer translates as
$$\exists q\ F(q)\land P(a,q)$$
which is well-formed.
No, it is not in this particular case. You conclude that by substitution.

female(q) can have two values : true or false.


For female q, female(q)=true you have : parent(Alice,true).
For non-female q, female(q)=false you have : parent(Alice,false).


Since false and true are not humans (they are truth values) the proposition parent(Alice,female(q)) is false for all values of q. 

So there does not exist a q such that parent(Alice,female(q)). 

Your predicate within a predicate is a well-formed formula. True and false can be used as terms of a predicate. But the formula does not express the required concept.