I assume that $\text{sgn}(a)=1$ if $a>0$, $\text{sgn}(a)=-1$ if $a<0$, $\text{sgn}(0)=0$ and $\text{sgn}([x_1,\cdots,x_n]^T)=[\text{sgn}(x_1),\cdots,\text{sgn}(x_n)]^T$.
In the sequel I assume that we are in the generic case; in particular, the $x_i$ are assumed to be non-zero.
We take $B=I,p=[0.1,\cdots,0.1]^T$. The considered equation $x=p+\text{sgn}(x)$ has $2^n$ solutions $(a_1,\cdots,a_n)$, where $a_i\in\{1.1,-0.9\}$, that is the maximal number of solutions in the generic case.
Then you can use the following method in order to solve your equation:
STEP 1. Calculate $B^{-1}=[C_1,\cdots,C_n]$ (decomposition in columns). Let $B^{-1}p=q=[q_1,\cdots,q_n]^T$.
STEP 2.You solve the $2^n$ equations in the form $Bx=p+[\epsilon_1,\cdots,\epsilon_n]^T$ where the $\epsilon_i$ are $\pm 1$. We obtain $x=q+\sum_i \epsilon_i C_i$.
STEP 3. For each equation, you keep the solution $x$ iff $\text{sgn}(x_i)=\epsilon_i$.