How to make an object automatically squish slightly at point of impact, while animating
What I did...

1 Created a UV Sphere
2 Created a 2X2X2 Lattice
3 Created an empty
4 Parent the UV Sphere and Lattice to the empty object.

Now ...

1 Create a vertex group selecting the bottom half of the sphere
2 Named the group "GroupSquish"
3 Fit the lattice and deform it's bases, leaving the top half lattices untouched.
4 Made sure the lattice only affect the "GroupSquish" vertices on the sphere.  

Finally ...

Move the sphere up and down you should see the effect the lattice have on the bottom half of the sphere. Of cos I created this pretty quickly and you could
fine tune the effect further if needed.

So logically you can now animate the ball going up and down and it should just deform. And add horizontal/lateral(XY Plane) motion by animating the "empty" object! Voila!  

  

Here is the blend file !!! How generous of me :)