I have the snow texture done, but I just need to figure out how to add the snow mesh on the tree.
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.
Your tree has no leaves so this might work: in object mode go to top orthographic view select your mesh and go into weight paint and paint on your mesh this represents where the snow will be placed then name your weight in vertex groups to something meaningful(Not that necessary though) then add particles modifier to your mesh and in particle editor select your weight painted vertex group in density then in another layer create a snow mesh by adding a sphere and deforming it a bit then create multiple duplicate's of that snow mesh (At-least 3) then edit each snow mesh so that it looks bit different then select all these snow meshes and hold ctrl then press g to create a group then name your group and be sure to create a snow material and assign it to all your snow meshes then go to your first layer then change your particles to hair from emitter and select your group below which will replace hair by your snow mesh then randomize its size and distribution and this must give some realistic snow on your tree mesh (If you don't understand anything then just ask me or search for a tutorial I'm sure you will get relative tutorial online)