Wrap the beets tightly in aluminum foil and roast until tender, 1 to 1 1/2 hours. Remove from the oven, uncover, and let sit until cool enough to handle. When cool, slip the skins from the beets and cut into eighths.
In a non-reactive saucepan, combine the vinegar, sugar, peppercorns, and pickling spice. Bring to a boil and cook, stirring occasionally, until the sugar dissolves. Remove from the heat and let sit for 2 hours for the flavors to develop. Add the eggs, onions, garlic, and beets and turn to coat evenly. Cover tightly and refrigerate, turning occasionally, until the eggs are a deep pink color, at least 8 hours and up to 24 hours.
To serve, remove the eggs, beets, and onions from the marinade and arrange on a platter. Garnish with sprigs of dill and serve with sliced French bread.