More laterExistence As Mike correctly noticed, if you have some point $Z_0=(x_0,y_0)$ on the graph of $g$, it generates a sequence of points $Z_k=(x_k,y_k)$ lying alternately on the graphs of $g$ and $g^{-1}$ and given by the recursion $x_{k+1}=x_k, y_{k+1}=y_k-p(x_k)$ when $k$ is even and $x_{k+1}=x_k-p(y_k), y_{k+1}=y_k$ when $k$ is odd.
Such a sequence can be considered for any point $Z_0$ and the property we want is that all intervals $[Z_k,Z_{k+1}]$ cross the diagonal $x=y$. We are going to show now that if $\gamma$ is any curve that goes top left to bottom right (so when you go along $\gamma$, the $x$ and the $y$ coordinates are changing in opposite directions) and $p$ is non-decreasing, then for each $n\ge 0$ the set of points such that all intervals $[Z_k,Z_{k+1}],\quad k=0,\dots,n$ intersect the diagonal is an interval on $\gamma$ and its endpoints are determined by the conditions that $Z_{n}$ or $Z_{n+1}$ hit the diagonal. The proof is just induction in $n$. Assume for simplicity that everything is smooth and the point $Z_0(t)$ moves along $\gamma$ as above.
Then, for $n=0$ notice that $\dot x_1=\dot x_0$ and $\dot y_1=\dot y_0-p'(x_0)\dot x_0$, so $\dot y_1-\dot x_1=\dot y_0-(1+p'(x_0))\dot x_0$, i.e., the coordinates $x_1,y_1$ also move in opposite directions and the "cross-diagonal component" of the speed of $Z_1$ goes in the samne direction as that of $Z_0$ and is larger in absolute value than that of $Z_0$. Starting with $Z_0$ on the diagonal and moving it up/left, we see that there will be a unique moment when $Z_1$ intersects the diagonal and the interval between these two moments is what we are looking for. Now assume that the statement is true for some $n$. Then we apply the same argument to the points $Z_{n+1}$ and $Z_{n+2}$ and just notice that the endpoint of the addmissible interval for $Z_0$ that comes from $Z_{n+1}$ hitting the diagonal is still there, but when $Z_{n}$ hits the diagonal, the point $Z_{n+2}$ is already on the wrong side of it because each next interval is shorter than the previous one (again, due to the fact that $p$ is increasing), so the new admissible interval is determined by $Z_{n+1}$ and $Z_{n+2}$. Finally, since the cross-diagonal speed increases all the time and the admissible length tends to $0$ as se go left and down along the diagonal, the admissible intervals shrink to one point as $n\to\infty$. Consider now the set $G$ of points $Z_0$ such that the generated sequence $Z_k$ is good in the sense that all intervals $[Z_k,Z_{k+1}],\quad k=0,1,\dots$ intersect the diagonal. Each horizontal and vertical line up to $0$ will have exactly one point in $G$. Also $G$ is closed and locally bounded. Thus, $G$ is a graph of a continuous increasing function. By symmetry, the reflection of $G$ about the diagonal is also a set of good points (but now with the first horizontal move), so we have our equation due to the same uniqueness.
That finishes what I wanted to post but the question of Mateusz if there are (reasonable) functions $p$ for which the equation has a solution for $\varepsilon p$ with "many" $\varepsilon$ still remains unanswered. His own example is degenerate (the resulting function is discontinuous), so it certainly shows that the problem is not trivial but doesn't yet settle it to my satisfaction. As to Mike's doubt about why the left and the right solutions for the triangular functions do not fit together, the story is quite simple: the values of $p$ for $x<0$ determine uniquely the red part of the graphs of $g$ and $g^{-1}$ on the picture below while the values for $x>0$ determine the blue parts and near $0$ there is a clear disagreement area.