Oh what a mess!
Well, the rule is "On the first Brazilian airport you land you need to pick up your luggage, go through customs and then re-check them in the connections desk". In GRU as soon as you clear customs and immigration there will be in the same level a connections check-in desk and you'll check in your luggage to Brasilia.
2 hours and 20 minutes will be enough, very likely.
As soon as you check in your bags in the connecting desk you'll go up one level and then enter the boarding room for national flights, B room, if I am not mistaken, but is clearly labeled. When you land in Brasilia, it will be just a national flight, no further controls will be enforced.
And you'll need to fill out a form for customs, it will be given to you (in English) in the inbound flight to Sao Paulo. Fill it during the flight or you'll have to stop in the mess of the arrival area to fill one and delay your connection.
There will be another form for immigration.
You can check in online with TAM (even with a mobile app, it can be found on play store or iTunes), and if your flight to EZE is via Turkish Airlines and it is not on the same ticket (redemption) you'll have to pick up your luggage in GRU and then check in at Turkish Airlines desk to EZE. TAM will not check in your luggage to EZE if the redemptions are on diferrent tickets on *A, if they are in the same ticket I would ask upon checking in from BSB to GRU what should be the procedure. I don't think they can check in the luggage for the Turkish Airlines flight because TAM operates that same route (GRU X EZE) and usually the companies do not allow this kind of "cooperation".