In a large saucepan, combine the stock, lemongrass, ginger, halved green onion and cilantro sprigs. Bring to a boil over high heat, reduce the heat to low, and simmer for 5 minutes. Add the chicken breasts, raise the heat to high and return to a boil. Again reduce the heat to low and simmer the chicken for 3 minutes. Remove from the heat and cover. Uncover after 5 minutes and allow the chicken to cool in the stock. Remove the chicken from the stock when cool enough to handle. Reserve the stock. Using your fingers, shred the chicken with the grain into strips about 1/2 inch thick and 2 inches long. Cover and refrigerate.
Strain the cooled stock and discard the solids. Return 1 1/2 cups of the stock to the saucepan; discard the remaining liquid. Bring to a boil over medium-high heat and cook, uncovered, until reduced to 1/2 cup, 5 to 6 minutes. Cool.
In a blender, combine the lime juice, vinegar, fish sauce, soy sauce, shallot, peanut butter, garlic and reduced stock. Blend until smooth. With the motor running, slowly add the olive oil. The dressing will be somewhat thin. Set aside.
Remove the stems from the spinach and cut out the core from the cabbage. Stack the spinach and cabbage leaves separately and cut crosswise into 1/4-inch strips.
In a large bowl, toss together the spinach, cabbage, shredded chicken, carrot, chopped cilantro and sliced green onions. Pour half of the dressing over the salad. Divide the salad evenly among individual plates. Garnish with the peanuts. Pass the remaining dressing at the table.