In a large pot, heat oil over medium high heat until shimmering, about 1 minute. Add onions and cook until translucent and lightly caramelized, about 5 minutes. Season with salt. Add chiles and garlic, cook for another 5 minutes. Add chopped tomato, cumin, allspice, sansho or sichuan peppercorns, and cook for another 20 min over medium high heat stirring frequently. Once aromatic, add water, orange juice, and vinegar and let cook five more minutes. Transfer to a blender, blend thoroughly, and set aside.
For the lamb, preheat oven to 325. Season lamb liberally with salt. In a very large pot over medium high heat, cook lamb until browned, about 7 minutes a side. Add blended sauce to pan, cover and cook in oven at 325 for 2 1/2 hrs.
If you are packing this to head out camping, cool completely. Transfer to a large resealable food storage bag or vacuum pack it until ready to eat. When ready, thaw bag in a 5-gallon bucket of water, transfer to a pot, and simmer over medium heat until hot.
Serve with diced onion, cilantro, and warm corn tortillas.