Make the beans: Put the beans in a large pot and add enough cold water to cover by 2 inches; bring to a boil and cook 5 minutes. Remove from the heat, cover and let stand 1 hour, then drain. Stick the whole cloves into the onion halves; add to the pot along with the carrots, celery and pancetta. Wrap the thyme, parsley and bay leaves in a piece of cheesecloth, tie with kitchen twine and add to the pot; cover with water by 1 inch. Bring to a boil, reduce the heat to medium, cover and simmer 1 hour. Add 1 teaspoon salt.
Nestle the sausage in the beans; add water to cover, if necessary. Add the garlic heads, cut-side down. Cover and cook until the beans are just tender but still hold their shape, turning the sausage halfway through, 20 to 30 minutes. Uncover and let cool to room temperature; cover and refrigerate overnight.
Meanwhile, make the meat: Toss the lamb in a bowl with the sugar, oregano, cinnamon, nutmeg, ground cloves, cayenne, 1 tablespoon each olive oil and salt, and 1 teaspoon black pepper. Heat 1 tablespoon olive oil in a large Dutch oven over medium-high heat. Working in batches, cook the lamb until browned, about 3 minutes per side; transfer to a plate. Add the pancetta to the pot; cook, stirring, until the fat renders, about 2 minutes. Add the onion and garlic and cook, stirring, until lightly golden, about 4 minutes. Add the tomatoes, wine, tomato paste, porcinis and orange zest, then return the lamb to the pot. Cut out a round of parchment paper and put directly on the surface of the meat. Bring to a simmer over medium heat, then reduce the heat to low, cover with the lid and cook until the lamb is tender, about 2 hours. (Adjust the heat as needed to maintain a gentle simmer.) Transfer the mixture to a large bowl and let cool to room temperature; cover and refrigerate overnight.
Skim off any fat from the bean and lamb mixtures. Remove the sausage and garlic heads from the beans. Slice the sausage into pieces and squeeze the garlic cloves from their skins; set aside. Discard the herb sachet, carrots, celery and onion halves from the beans. Discard the orange zest from the lamb.
Using a slotted spoon, transfer about half of the beans to a large Dutch oven and top with the lamb (just the beans and lamb, not the liquid). Add the sliced sausage and garlic cloves, then the remaining beans. Pour in all the liquid from the lamb mixture. Add enough of the bean cooking liquid to cover, if necessary.
Put the Dutch oven over medium-low heat and bring the mixture to a simmer, uncovered, about 40 minutes. Preheat the oven to 325 degrees F. Pulse the bread in a food processor to make coarse crumbs. Toss with the remaining 1 tablespoon olive oil. Sprinkle on the cassoulet, transfer to the oven and bake until golden brown, about 1 hour, 30 minutes. Let rest 15 minutes before serving.