When to stop calculating values of each cell in the grid in Reinforcement Learning(dynamic programming) applied on gridworld
1- You should set a threshold (a hyper-param) that will allow you to quit the loop.

Let V the values for all state s and V' the new values after value iteration.

if $\sum_s|V(s) - V’(s)| \le threshold$, quit

2 - V is a function for every cell in the grid yes because you need to update every cell. 

Hope it helps.