Since $Y$ is normal, div is only determined outside a set of codim 2. We may also assume that outside this set of codimension 2, $p$ is an isomorphism. We call this open set $U$.
Of course, $p_{*}$ of any divisor on $X$, is also determined on $U$ (which is both an open subset of $X$ and $Y$). In general, $p_{*}$ of a divisor on a map of surfaces (or any varieties), simply throws away any components which are contracted to non-divisors. So at this point, $p_{*}$ of the divisor is determined on an $U \subseteq Y$. The divisor on $X$ is determined on $U$ also.
This does it because the two divisors agree on that set.
For your second question. Yes, it holds for birational maps between normal integral separated schemes in general. The proof is the same.
EDIT: I should point out however that $p_* (O_X(D)) \neq O_Y(p_* D)$ for divisors on $X$. This can happen even in the context you are considering. It depends on the singularities of the varieties in quesiton.