You are right about longevity of career but I am not so sure about the other part. Are you saying Kallis & Ponting scored more runs against weak opponents ?
Longevity of career can also be a plus point if you are a good enough player at international level. It is esp. so if you get to play a lot during your peak years (say b/w the ages of 24 & 34). When it comes to setting or breaking records, players from Australia, India and England (who all play 12-16 tests/year) are definitely at an advantage compared to players from Pakistan or NZ who traditionally play 7 or 8 tests per year (certainly not more than 10 tests per year).
Even Tendulkar went thru a slump in form b/w 2003-2006 but because he played so many games and scored so heavily during the 90s i.e. his peak years he was still able to mantain a high enough overall average during that period.
Just to give you a PAK example, Imran Khan played just 88 tests in a career spanning 21 years (1971-1992). Mc Grath on the other hand played 124 tests in just 14 years, mostly in his peak years. Ponting has played 126 tests in 13 years. Pakistan played even less cricket during the 70s and 80s, Imran's peak years. If Imran had the same opportunities as Mc Grath, goodness knows where he might have ended up despite missing two years due to stress fracture (1983-1985)