On an ungreased griddle or in an ungreased skillet toast chile peppers over medium-high heat for about 1 minute or until fragrant, turning frequently. Remove and discard stems and seeds from chile peppers.* Place peppers in a large bowl. Add enough boiling water to cover. Let soak for 30 minutes. Drain well, reserving liquid.
In a blender or food processor combine drained chile peppers, vinegar, sugar, salt, oregano, black peppercorns, cloves, and cumin seeds. Cover and blend or process until smooth. Press mixture through a fine-mesh sieve; discard solids. Remove 1/2 cup of the sieved mixture; chill until needed in Step 4.
Place lamb roast in a large resealable plastic bag set in a shallow dish. Spread the remaining sieved mixture over all sides of roast. Seal bag. Chill in the refrigerator for 8 to 24 hours.
Preheat oven to 350 degrees F. In an oven proof 4- to 6-quart Dutch oven combine the 1/2 cup coarsely chopped onion, the garlic, bay leaves, and the chilled 1/2 cup sieved mixture. Place a rack or steamer insert in the Dutch oven. Add enough water to fill the bottom of the Dutch oven, making sure the water does not touch the rack. Place the roast on the rack. Bring water to boiling. Cover Dutch oven. Bake for 3-1/2 to 4 hours or until meat is tender and falling apart; add additional water as needed during baking.
Remove meat from Dutch oven. Remove meat from bones. Using two forks, pull meat apart into shreds. Discard bay leaves. Strain fat from cooking juices. If needed, add enough water to the cooking juices to make 2 cups total liquid. In a blender or food processor combine the cooking juices and tomatoes. Cover and blend or process until smooth. If necessary, reheat tomato mixture in a saucepan.
Divide shredded meat among six individual serving bowls. Top with tomato mixture and, if desired, finely chopped white onion, and cilantro. If desired, serve with tortillas and lime wedges.