We need to find all $z:\exists c\in \mathbb{R}:p_c(z)=0$.
Some manipulation gives
$\begin{array}
&&p_c(z)=0\\\
\Leftrightarrow&p_0(z)+c=0\\\
\Leftrightarrow&Re(p_0)+i Im(p_0)+c=0\\\
\Leftrightarrow&Re(p_0)+c=0\text{ and } Im(p_0)=0\\\
\end{array}$
Now $Im(p_0(z))=0$ is a fixed set of points on the complex plane.
$Re(p_0)+c$ defines a surface on on $\mathbb{C}$ which varies with $c$. The surfaces that we get varying $c$ are just the translation of the surface $z=Re(p_0)$, along $z$ axis.
Our required set of points are those that lie in intersection of these the sets
$\\{z\in \mathbb{C}:Im(p_0(z))=0\\}\cap\\{z\in \mathbb{C}:\exists c:Re(p_0(z))+c=0\\}$
$=\\{z\in \mathbb{C}:Im(p_0(z))=0\\}\cap\mathbb{C}$
$=\\{z\in \mathbb{C}:Im(p_0(z))=0\\}$
Example 1: As an example let's take $p_c(z)=z^2+c$.
Plot of $Im(p_0(z))=2 x y = 0$ is just the two axes, as given below.

This is the required locus.
A plot of $Re(p_0(x))$ is also given below. This doesn't help in finding the locus though, and this is attached only to see why the second term in the intersection above is entire $\mathbb{C}$. Evidently, the points which intersect with the complex plane as we move the surface up and down is the whole complex plane. This will hold true for any polynomial as polynomials are holomorphic functions.

Example 2: Let's take your example $p_c(z)=z^4+8z^3−3z^2−9z+c$.
We have
$\begin{array}\
Im(p_0(z))&=&Im(p_0(x+iy))\\\
&=&16 x^3 y+24 x^2 y-16 x y^3-6 x y-8 y^3-9 y\\\
&=&-y \left(-16 x^3-24 x^2+16 x y^2+6 x+8 y^2+9\right)\end{array}$
Plot of $p_0(z)=0$ (which gives your locus) is shown below.
