Given the recursive formula where $N$($C,i$) is the number of ways to buy balls (of different price) when
$C =$ current amount of money
$i$ $=$ index in price table $P$
ball price defined as $b_1 = P_1$ where $b$ is the ball at index $i$
\begin{align*} N(C, i) = \begin{cases} 1, & \mbox{if } \mbox{c = 0} \\ 0, & \mbox{if } \mbox{c < 0 or i > p.length } \\ N(C - p_i, i+1) + N(C, i+1), & \mbox{if } \mbox{c > 0} \\ \end{cases} \end{align*}
I have two questions for this :
First quick question: Is it legal to introduce $P$ in the recursive formula if not defined as a parameter for $N$?
Second question: How do I prove that the recursive formula is correct by induction? I'm used to make proofs with one variable, but here I have two? What is the starting point of the proof?
Yes, not mentioning $p$ as a parameter is legit. You assume the table $p$ fixed throughout the discussion, in particular already in the very definition of $N$. By the way, it seems that $N(c,i)$ rather denotes the number of ways to buy distinct balls of total cost exactly $c$ and with buying none of the balls before index $i$.
Also, it seems that there is a silent assumption that $p_i>0$ for all $i$.
To prove the recursion, note that
Note that no induction was needed to justify the recursion formula.