The interesting thing here is that the same problem arises at a larger scale as it does on at the team level: architecture. Not how pieces of the software is put together, but the architecture of the existing and future business environment.
So, for example, a large project might include hardware, software, embedded software, offshore testing, multiple vendors, fixed demo dates, fixed regulatory dates, and so on. You can certainly manage all these cadences separately, but for most folks sprints of a week or two in length give you fixed reference points to then optimize around.
Of course, it's easy to think up a scenario with a pretty simple business environment, say the next version of Google+. In that case, Kanban probably would work a lot better. Do the simplest thing you can, but no simpler.
I find that business architectural issues can be difficult for the teams to grasp. The Scrum guys have preached sliding stories under the door to the team for so long, there's an entrenched mindset that things like that aren't the team's problem. (Not everybody, but many folks think this)
Counter-intuitively, by fixing the planning and delivery times, you can simply the cadence discussion. It all has to fit somehow in this list of dates. It also makes it easier to simplify or add complexity to the business architecture without having to worry so much about impacts.
You might think: why not just go kanban with one fixed planning cadence? Kind of the best of both worlds. Technically this would be awesome. You run into some communication and messaging problems though. If your message is "It's kind of like Scrum only bigger" then you can send out for Scrum training and explain how it all works. People will take the training and then ask questions like "who is the product owner" which aren't perfect but at least they're in the right direction. But if all you have is a bunch of boards and hand-waving, it's very difficult to get everybody to have some kind of mental model on what's happening. It's just too much (unless you already have established some previous Agile practice). Folks have to have some sort of working mental model of how things are supposed to work. Going from something like RUP to full-bore program-level Kanban in a complex business environment is just too far. My opinion only, for what it's worth. Perhaps in the next few years we'll see people tackle this. One of the things we don't talk about enough is that we struggle quite a bit with teams doing Agile, much less programs. It's simple concepts, but application is a bear.