Let $X_n$ be a sequence of random variables which converge in probability to $X$. Suppose also that for all $\varepsilon > 0$ there exists $\delta_\varepsilon > 0$ such that $P(|X| \leq \delta_\varepsilon) < \varepsilon$. Following the discussion here we can see that
$$ P(sgn(X_n) \neq sgn(X)) = P(X_n X \leq 0) = P(X_nX \leq 0, |X| > \delta_\varepsilon) + P(X_n X \leq 0, |X| \leq \delta_\varepsilon). $$ The first term is bounded by $P(|X_n - X| > \delta_\varepsilon)$ and the second term is bounded by $P(|X| \leq \delta_\varepsilon) < \varepsilon$. So
$$ P(sgn(X_n) \neq sgn(X)) \leq P(|X_n - X| > \delta_\varepsilon) + \varepsilon. $$
Since $X_n \to_p X$, then for all $\varepsilon > 0$ there exists $n$ large enough so as to make $P(sgn(X_n) \neq sgn(X))$ arbitrarilly small. Hence we prove sign consistency. However, I am interested in the rate of convergence. Let $a(n)$ be a positive increasing sequence for $n = 1,2,...$ (e.g. $a(n) = \sqrt{n}$). And suppose $a(n)P(|X_n - X| > \varepsilon) \to 0$. Then
$$ a(n)P(sgn(X_n) \neq sgn(X)) \leq a(n)P(|X_n - X| > \delta_\varepsilon) + a(n)\varepsilon, $$ and now we cannot find $n$ anymore to make this quantity arbitrarilly small. In an extreme case suppose that $P(|X| \leq \eta) = 0$ for some $\eta > 0$, then we can always take $\delta_\varepsilon = \eta$ and then
$$ a(n)P(sgn(X_n) \neq sgn(X)) \leq a(n)P(|X_n - X| > \delta_\varepsilon) \to 0. $$
Assuming that there is no probability mass in a neighborhood of $0$ seems strong, is there a less extreme way to restrict the mass around zero which would still yield $a(n)$-consistency of the sign?