How to add snow to a plant
I'll give it a shot, although this is pretty basic!  If it works, great, but you'll have to play around with it for complex trees etc.  (This is an enhancement/refinement of an idea by Sardi Pax.)

EDIT: works just fine with curve object trees as well as meshes . . . see the very bottom for additional info.





Duplicate your tree mesh (in place) and give the duplicate your snow material.  But, you'll add some stuff to the snow material so it only shows more or less upward-facing faces.



The gist is to create a mix factor between your snow shader and a transparent shader.  The mix factor takes the "Normal" output from the Geometry node, separates it into XYZ components via a "Separate RGB" node, then tests the B value (facing Z axis) and keeps it as long as it's slightly greater than zero.  Then the backfacing surfaces are removed, otherwise you get the undersides of the downward-facing faces.

Then move the snow mesh up on the Z axis just a bit--enough so the snow is sitting on top of your branches to the depth you require.

Finally, to give the snow a more irregular/natural look, you can displace the snow mesh with a noise texture, e.g. a cloud texture.  You'll need to tweak it so the displacement looks the way you want.  I used a "Displace" modifier after a subsurf, using a displacement texture of type "Clouds".  I found that displacement along the Z axis of the "Local" texture coordinates was better than displacing along normals.  My midlevel was quite low (.2) and strength also low (.1). 





If it's going to be viewed from a distance this may be unnecessary.

EDIT: haha, the displacement has some kinks to work out, you can see some sky between the snow and the branch on the right hand side of the render.  You'll have to tweak the displacment values if you want to use them - it may be preferable to displace from the object normals, but then you run into other kinds of oddities.  I don't see gaps like that when I turn the displacement off and maybe that's good enough for your purposes.

EDIT 2: what is now the top image uses a more complex curve tree object that was not converted to a mesh.  The snow material concept works here, although I had to change the Z-value factor to "Greater than 0.3" to remove snow from some of the not vertical but still fairly steep trunk angles on this different type of tree.  As far as I know the displace modifier cannot be used with curve objects, but there may be another solution if adding texture noise is desired.