Is it possible to make translation and scaling accumulate?
You could write your own simple script.
To accumulate ALL the objects transformations you can do something as simple as that:
 myMat = bpy.context.object.matrix_world myMat will now store a pointer to the transformation matrix of your object, so if you move it about, myMat will change accordingly...

Then you can simply say: accumMat *= myMat and that will create this new matrix called accumMat (accumulation matrix) which gets set to whatever it is, times the current transformation matrix.

Run that last line of code after you register a new transformation and you will have the accumulated transformation of the object on accumMat!



Now if you just want the scale and translation (no rotation) than you want to extract only this information from the transformation matrix, so you can say:
myScale = bpy.context.object.matrix_world.to_scale() 
and
myTranslate = bpy.context.object.matrix_world.to_translation() 
which would give you back 2 vec4's containing the current scale and translation, then simply accumulate the new values into the accumMat appropriately. 
You could do so by adding the translations and multiplying the scales. (I am not sure what you are actually trying to do, but that is what makes sense).

Just keep in mind that bpy is column major so your traslation vector would be at:
Vector((accumMat[0][3], accumMat[1][3], accumMat[2][3], accumMat[3][3]   
Take care with the last one because it is w coordinate, and you probably want to keep it at 1.0! So don't accumulate it.
The scale would be respectively at:
Vector((accumMat[0][0], accumMat[1][1], accumMat[2][2], accumMat[3][3]   
Again be cautious with the w coordinate.