Leaf variety in sapling addon?
Some of these I know for a fact are possible. The Leaf Object parameter answers 3 of your 4 questions. First, you'll need to create a leaf, either with a Nurbs Surface, or a simple mesh (either method will work, but if you plan on texturing the top and bottom differently, I'd go with a mesh). Then when you add your Sapling Curve, in the Leaves settings, set the Leaf Shape to "DupliFaces" and the Leaf Object to the name of the mesh you created to be your leaf. The varied leaf sizes has its own parameter toward the bottom right "Leaf Scale Variation". Unfortunately, the Leaf Object parameter doesn't allow you to add Groups of objects, but you may be able to use the a particle system instead to achieve color variation in your leaves. Hope this helps!