Just insert brackets around the unknown functions, and a replacement of parameters:
NDSolve[{v'[
t] == (r v[t] - (price b v[t])/
Piecewise[{{z'[p[t]], pbar > p[t]}, {pbar, pbar < p[t]}}]) /.
paramFinal,
p'[t] == Piecewise[{{-((p[t] z'[p[t]])/z''[p[t]]) - a v[t] /.
paramFinal, pbar > p[t]}, {0, pbar < p[t]}}] /. paramFinal,
v[0] == 0.024, p[0] == 0.025}, {v[t], p[t]}, {t, 0, 100}]