I've made a similar cake before - note that it uses clementines, not just any oranges. This is an advantage because their skin is thinner and less bitter than larger oranges.
The cooking softens the peel enough to puree smoothly, and helps release the orange flavor from the peel. It's not really about reducing biterness; some of the bitter flavor may be drawn out into the water, but the same is true for the good flavors. Most of the flavor (fortunately) stays in the oranges. The end result is still a bit bitter, but bitter orange isn't an entirely bad flavor, and the sugar covers it a bit.
The best time probably depends on exactly how thick and tough the peel is. But it won't really hurt to cook them on the long side - they're not going to disintegrate or anything in just two hours. If you want to save time, you could poke them periodically to see if they're softened up enough.
As for other citrus fruits... it definitely does work best with things like clementines, which have thin skin that isn't horribly bitter to begin with. With thick-skinned oranges, eating the whole peel isn't such an exciting idea, but I guess it's mostly just that you'll end up with some additional mostly flavorless pith pureed in. Looking for variations, I'd be more inclined to try something like thin-skinned limes, though not in the same kind of recipe, since you'd need a lot more sugar to cover up the acidity. It'd also work incredibly well with things like kumquats, whose peel is sweet and if anything more pleasant to eat than the sour center. There is a decent amount of variation in bitterness of citrus peel, even between varieties of the same fruit, so it's probably prudent to taste the peel first before you invest time baking a cake out of it.