Modify size of bevel object at certain points along path
Instead of using the Bevel object, simply set Bevel Depth to a fixed value. You can then use Shape Keys on your taper object - for the 'growing branch' stage you would simply have a gentle curve, starting high and tailing off. Animating the Start and End will allow the branch to 'grow'.

Once it has grown you can then use the shape key to blend to a new taper shape where different sections of the taper curve are higher or lower to vary the thickness at the corresponding point along your curve.

In order to achieve this your Taper curve would need to have enough detail to allow for your final shape. An alternative is to use a Lattice to make the deformations and apply the shape key to the lattice instead of the curve itself.

This is a very rough example (the first time I've attempted this and knocked up in a spare half-hour - so excuse the lack of artistic talent!), but the following can be achieved :



The two lines below the 'Text' are the Taper curve (the top one) and the Lattice used to deform it. A Deform modifier on the taper curve uses the lattice deformation to deform the curve. The Lattice uses a Shape Key to control its deformation.

Blend file included