Read some of the posts in these threads and I think a number of your questions will be answered.
http://www.flyertalk.com/forum/south...sao-paulo.html
http://www.flyertalk.com/forum/south...-question.html
I travel through GRU every month and generally arrange flights so that I have 3 hours between them. Has always been sufficient.
If you do decide to take an earlier flight, there is a Fast Sleep hotel located airside between terminals.
Haven't taken that particular route FLN-GRU, but TAM and GOL are pretty similar. I prefer TAM, but depending on price and schedule, either one would be fine. A couple of others you might check out are Webjet and Ocean air. Not sure if either do the FLN-GRU route. Perhaps someone else can provide info on that.