Preheat oven to 400°F. Trim beet greens, leaving a 1-inch piece of stem. Scrub beets and dry on paper towels. Sort by size and tightly wrap and seal large and small beets separately, along with onions, in two heavy-duty aluminum-foil packages. Place packets on a baking sheet. Roast until beets are tender when pierced with a fork, about 1 hour for small beets and 1 1/4 hours for large. Unwrap packages and let cool for about 15 minutes. Peel and trim beets and onions, halve crosswise and thinly slice. Transfer to a bowl.
Add vinegar, oil, 1 1/4 tsp. salt and a pinch of pepper to beet mixture and stir until blended. Refrigerate, tightly covered, until chilled, at least 2 hours and up to 1 day. Taste and adjust seasonings before serving.
At least 2 hours and up to 12 hours before serving, peel, core and cut apples into 1/4-inch slices. Cut each slice crosswise into 3 pieces. Transfer to a bowl, add lemon juice and toss to coat. Add sour cream, remaining 1/4 tsp. salt and a pinch of pepper and stir until blended. Cover and refrigerate apple mixture.
To serve, arrange lettuce leaves on a serving platter. Top with beet mixture and apple mixture separately. Sprinkle with cheese and pecans and serve.