Combine the shallots, vinegar and sugar in a medium saucepan and bring to a boil. Simmer over moderately low heat until the liquid is syrupy and the shallots are softened, about 30 minutes. Transfer to a bowl.
In a sturdy resealable plastic bag, combine the oil and cinnamon. Add the duck breasts, seal and refrigerate overnight.
Preheat the oven to 450°. Remove the duck from the marinade, scraping off as much cinnamon oil as possible. Season with salt and pepper. Heat a large skillet. Add the duck breasts, skin side down, and cook over low heat, without turning, until the skin is deep golden and most of the fat has been rendered, about 25 minutes; spoon off the fat as it accumulates. Transfer the skillet to the oven and roast the duck for about 13 minutes, or until medium rare. Transfer the duck to a plate and refrigerate until chilled.
Thinly slice the duck against the grain; remove the skin if you like. Arrange the slices on a platter and serve with the shallots.
The shallots can be refrigerated for 1 week. The duck can be refrigerated overnight; slice before serving.