Specific workouts don't change your height or body type. Rather, people are attracted to training that fits their genetic makeup.At birth,your muscle fiber type, number of muscle fibers and muscle lengths are all set.Unless you take steroids, the most you can do is maximize your unique form.
Exercise can't lengthen or elongate muscles. They have fixed attachment sites on your bones and this can vary. Long-distance runners tend to be lean and lanky because they have predominantly Type 1 muscle fibers. This type burns oxygen efficiently and is excellent for endurance. Running comes more easily for this body type, so they gravitate toward it.Of course, such training will make them leaner, but the foundation already was set. Conversely, this body type has difficultly gaining muscle mass.
Those who excel at lifting, like crossfitters, have primarily Type II muscle fibers, They can sprint well, but certainly would struggle through a marathon. They are built for power, not endurance, and put on muscle mass quite easily.
"Most Crossfitters tend to be short and stocky and have bulky muscles (yes, even the women. I'm sorry.) Most distance runners tend to be tall and lean. I know which one I'm going to do." While your observation is correct, the reason why is not. Running will not make you tall or change your muscle fiber type, which is fixed by genetics.
And if you are gaining fat while doing crossfit, it is a result of diet, not the type of exercise. To put on weight, even just muscle mass, you have to be eating excess calories. If you are consuming more than what is needed, it will be stored as fat. Since muscle is more compact and takes up less space, you would really have to be overshooting your calories to go up two sizes.
And, no, you don't have to do paleo for crossfit to work. Carbs and grains are not the enemy. Cut the restaurant meals, fast food and processed foods and focus on clean eating with veggies and protein making up the majority of your plate.