Public phones will be also useful if you have to call from some small villages where there is no cellular coverage, if you travel by road.
They sell SIM cards at GRU and GIG for sure, but I don't know if you can get them without a CPF from there. Look for the telecom's logos at the shops (TIM, Claro, Oi, Vivo). But, as already mentioned, If you buy a card from Sao Paulo and go to other states, it will be a long distance call (and roaming charges, when receiving calls).