How to find the set of $c$ for which the Julia set of $x^2+c$ completely lies in $\mathbb{R}$?
I know that $c=-2$ must satisfies this because $J(x^2-2)=[-2,2]\in \mathbb{R}$. However, for other $c$, it's quite hard to analyze. Also, Is the part of a $J$ in $\mathbb{R}$ always a fractal except for $c=0$ or $c=-2$?
Good question. The answer is $c \in (-\infty,-2]$. For the direction proving that for any such $c$ the Julia set is contained in $\mathbb R$, prove that for all $c \in (-\infty,-2)$, the set of real points that do not escape to infinity is a Cantor set contained in $[-\beta_c, \beta_c]$, where $\beta_c:=\frac{1+\sqrt{1-4c}}{2}$ (use the fact that $f_c(\beta_c)=\beta_c$ and $f_c(-\beta_c)=\beta_c$).
By the general theory of the dynamics of quadratic polynomials, the Julia set is the smallest closed completely invariant non-empty set (except if $f(z)=z^2$, in which case you have to exclude $\{0\}$). So your Cantor set contains the Julia set and in fact is equal to it.
Now for the other direction. First, note that if the Julia set of $f_c$ is contained in $\mathbb R$ then $c$ must be real (the Julia set is invariant and contains more than 3 points; and a quadratic polynomial that maps three real points to three real points must have real coefficients). There is a theorem that says that if $c$ is in the Mandelbrot set and is neither $-2$ nor $0$, then the Hausdorff dimension of $J(f_c)$ is more than one; therefore for $c$ in the Mandelbrot set the only candidates are $c=-2$ or $c=0$. The first one works, but not the second.
It finally remains to exclude $c > \frac{1}{4}$. For such values of $c$, $\beta_c:=\frac{1+i\sqrt{4c-1}}{2}$ is a fixed, repelling point, so it is in the Julia set; but it is not real.
No. If you take for example $f_c(z)=z^2+\frac{1}{4}$, then the intersection of the Julia set with $\mathbb R$ is just $\{ \pm \frac{1}{2} \}$; in particular it is not fractal (there are other examples where the intersection of the Julia set with $\mathbb R$ is countable, so still not a fractal).