a) Using just Weierstrass: Because $f$ is continuous on $[a,b],$ $f(x^{1/3})$ is continuous on $[a^3,b^3].$ Hence there are polynomials $p_n(x) \to f(x^{1/3})$ uniformly on $[a^3,b^3].$ This implies $p_n(x^3) \to f(x)$ uniformly on $[a,b].$
b) $f$ is even on $[-1,1]$ iff $f$ is the uniform limit of functions of the form $p_n(x^2),$ where the $p_n$ are polynomials. Proof: $\implies:$ Suppose $f$ is even on $[-1,1].$ Then $f$ is the uniform limit of polynomials $q_n(x)$ on this interval. Because $f$ is even, $f(x) = (f(x)+f(-x))/2$ on $[-1,1].$ It follows that $f(x)$ is the uniform limit of $(q_n(x)+q_n(-x))/2$ on $[-1,1].$ Since each $(q_n(x)+q_n(-x))/2$ has the form $p_n(x^2),$ where $p_n$ is a polynomial, we're done. $\impliedby:$ This is the easy direction.