How can I change the particles density and its direction in volume?
Use weight painting to create a vertex group which will control density of the particles or create new texture in the particle system settings.

Weight painting

Prepare mesh topology

Weight paint affects on vertices, so in order painting to be smoother you'll need a lot of vertices. The more of them, the smoother will be painting, and so distribution of particles.

Use loopcuts or Subdivision Surface modifier to make topology of the mesh more dense.



Use Weight painting to determine how to spread particles

Create new vertex group (or it will be added automatically), switch Object mode to Weight Paint and use brushes to paint areas where you'd like particles to be located more dense. Weight of 0 will make no particles in that area, weight of 1 will make to add maximum amount of particles (if the vertex group effect isn't inverted).
You can also use Weight tools, located in Tools panel (opened with T) to mirror, invert, normalize weights etc.



Set created vertex group to control density of particles

In Vertex Groups scroll locate Density field and choose created vertex group.





Note that you could also invert vertex group influence, to make particles being distributed in the top of the mesh instead of bottom (button just near the dropdown menu where you choose vertex group to affect). 



Use texture to control particles' density

In the settings of the Particle system create new texture:



For simple setup Blend texture may be used. Moving control points of the ColorRamp will make density of the particles change.



The last thing is that by default this texture affects only time, not density. So in the Influence scroll check Density (you can leave Time if you need it).