Q:

How to make a procedural white birch bark material in cycles? 

How can I proceduraly create the dark lines as seen in white birch (paper birch) bark? 

This is the exact type of effect I'm trying to replicate.  Random sized "lines" in the bark, yet they all run the same direction. 
You can see in this picture, that this variation of birch has a slightly different bark pattern.  Here the lines are much longer. ( At this point I don't care about the random dark blobs, they are mostly knot holes, but if somebody wants to include that too... :)

-pixabay

A:

Making a birch shader completely procedural is quite a challenge, this is my version:

(download blend file below)
Like the other two answers already say: you archive these effects with stretched noise textures, color ramps and mix nodes.  It takes quite a bit of time and experimenting to figure out wich noise looks best for the specific surface.  I mainly used the standard noise and musgrave noise. 
Unfortunately I can't walk you through the whole shader, but here are some steps that help me:

research the node wrangler add-on to prevent headaches
work from large-scale noise to small-scale noise.  Here I created the big random blotches first, after that the horizontal lines and at the end the tiny black spots.  That helps keeping the proportions right.  It needs to look right from distance first, keep the details for later. 
look at your noise textures isolated.  With the node wrangler add-on activated, you can Ctrl+Shift+ leftclick a node and a viewer gets created. 
stay between values of 0 and 1.  When you start to mix the different noise textures for more complex noise, always look at the isolated result and make sure that the values don't go negative or exceed one.  Your shader won't break when you have values below 0 and over 1, but it makes it much harder to work with, because these values can not be displayed. 
group components to keep your overview... but: don't group them too early.  Isolating nodes doesn't work in groups and this makes it really hard to "debug" node-groups, when you want to find one specific pattern. 

Here are the horizontal lines I used:

create noise texture
scale on z axis by mapping coordinates (i used 4, 4, 40 in scale)
a high contrast color ramp for sharp edges
i used only the R channel of the noise

The result of that color ramp could then be used to

mix between shaders (as a factor in mix shader node)
create a mask, e.g. for colors or shader properties like roughness
be mixed with other noise patterns to create more complex and interesting noise
...

Here is the file:

A:

Here's what I could come up with. 

It mostly relies on using a Voronoi texture squashed in Z axis, and a Color Ramp node to control the "spot radius" for the smaller spots. 
For the bigger branch dark spots or nodes, again the same setup of Voronoi texture with a Color Ramp node to control the blotch size, the only addition is mixing texture coordinates with a noise texture to make them more distorted and irregular looking.  Have in mind I didn't bother recreating those "inverted V streaks" visible around the branch nodes in the second image, those don't seem trivial to achieve without some sort of image based texture. 
Here is the corresponding node setup

You can adjust the spot amount/density with the Scale value of theVoronoi textues, the "squashiness" by varying the Z scale value under the Vector Mapping nodes, and the size by sliding the control points on the Color Ramp nodes. 

A:

I came up with this but if I were to go this route I would use this setup as a mask and create the other two textures independently. 