How to Make It
Preheat the oven to 300°. Heat the oil in a large enameled cast-iron casserole. Season the lamb with salt and pepper, add to the casserole and sear over moderately high heat until well browned all over, about 20 minutes. Transfer to a plate.
Add the onions, carrots, celery and garlic to the casserole and cook over low heat, stirring, until the vegetables start to brown, about 8 minutes. Raise the heat to high, add the tomatoes and boil until the juices evaporate, about 4 minutes. Add the wine and boil for 3 minutes. Add the chicken stock, parsley, thyme, marjoram and orange zest and bring to a simmer. Return the lamb to the casserole, cover and bake for about 4 hours, or until the meat is very tender and falling off the bone.
Transfer the lamb to a platter and discard the herbs and zest. In a food mill or food processor, puree the sauce. Transfer to a bowl and let stand for 10 minutes, then skim the fat from the surface. Season the sauce with salt and pepper and return it to the casserole along with the lamb.
Drain and rinse the beans. Transfer them to a saucepan and add 2 quarts of water. Put the chopped celery, onion, carrot, marjoram, bay leaves and peppercorns in a large square of cheesecloth and tie with a string. Add to the beans and bring to a boil over high heat. Reduce the heat to low and simmer until the beans are tender, about 2 hours.
Rewarm the lamb in the sauce. Drain the beans, discarding the cheesecloth bundle, and transfer to a bowl. Add the orange juice, olive oil and orange zest to the beans, season with salt and pepper and stir in the salad greens and sliced celery. Spoon the lamb sauce into 4 shallow bowls and mound the bean salad in the center. Top each salad with a lamb shank and serve at once.