Render particles inside a certain area
To make particles rendered only in certain areas during animation you should control their size with a texture assigned to particles system. In this case particles will be emitted but will be visible only where texture allows them.


Create a cube which will act as a 'domain' for your particles (it will affect particles' appearence).  
Scale it accordingly with the object. Rotate it 90 degrees by Y axis.
By default texture of Blend type will use X and Y axes for mapping. In this example cube will be moved by Z axis, hence all the coordinate system should be changed. For this reason the cube will be rotated to rotate its coordinates which will be used as coordinate system for particles' texture. Hence do not apply scale and rotation.
Position cube appropriately and keyframe its location.
While in Particle System settings go to Textures tab and create new one (make sure that type of textures is set to Particles in the top of the Textures tab).
Switch its type to Blend (to use texture as a gradient).

Open Colors rollout, check Ramp and create 2 more color stops to make texture influence in both directions (in this case, +Z and -Z). Choose appropriate Interpolation type, in this case used Constant for more visible effect. Set up color stops so black is in the corners and white is in the middle.

Because texture influence should change together with moving object, that object can be choosed as texture coordinates centre. In Mapping rollout choose Object and select that scaled and rotated cube from dropdown list.

Lastly, in Influence tab uncheck Time and check Size. The particles' appearence will be controlled by affecting their size instead of density.
While Density will work it won't cause refresh of amount of particles emitted when object used as coordinates centre moves (probably a limitation) and hence this won't work for animation.



Now particles will be shown only as the cube moves down: