It may well happen - civil wars have a way of forcing populations apart and resulting in divisions of multiethnic states. It may be unavoidable. But we certainly shouldn't impose such a partition - it'll have to be up to the Iraqis. And frankly, a division of Iraq might well make things even MORE unstable, not less.
This article by Juan Cole lays out many of the inherent problems with the "Three-State Solution":
http://www.thenation.com/doc/20040329/coleThe big question is: how do you divide the country? There aren't any clean lines. The region between Kurdistan and Sunni Arab areas is highly mixed with lots of overlap. There are large Turkmen and Assyrian populations scattered throughout Northern Iraq and do not trust the Kurds. There are a million Kurds in Baghdad and Baghdad is close to evenly split between Sunni and Shi'ite Arabs.
Meanwhile, even the Sunnis and Shi'ites aren't cleanly divided. There has been a fair degree of intermarriage in many cities which causes family divisions. There are millions of Sunnis in the predominantly Shi'ite south and whole areas where the populations are essentially even.
Moreover, if you DO divide the state, how do you create a situation that is geopolitically stable? Not that Iraq is stable today, but partitioning the country might not make it much more stable. The only part of the country with a steady source of income and a strong economic base would be the Shi'ite south. The oil reserves in the Kurdish north are running out, and they would be left a tiny landless nation surrounded by large hostile powers. As for the Sunnis, there would be massive ethnic cleansing and major population transfers (some of which is admittedly already ongoing) - who controls Baghdad? Whoever does, you can be sure that millions of the other communities will flee. Plus, a small Sunni state would have no economic base and no oil supplies.
Ultimately partition may be unavoidable. But it's always easy in ethnic conflict to assume that partitioning a country will make things more stable - in fact, it often makes things worse. Even when people share a relatively short history together, institutions and economic assets become shared, populations become mixed and different groups come to dominate different economic sectors. Though the Iraqis have not long been in a country called "Iraq," they have long been in the same empires, meaning that there has long been ties between the different communities within Iraq. Breaking those ties and splitting the populations will be extremely and tragically messy.
Historically, most ethnic or communal-based partitions have tended to result in greater conflict and instability in the long-term. The biggest example is India and Pakistan. Certainly had British India not been partitioned, there could have been problems down the road. But the British divided the country because of fears of civil war - instead they essentially got a civil war anyway and the result was much greater regional instability, protracted political disputes, and economic devastation in many areas. The result was an economically truncated state of Pakistan, an even-more economically unviable Bangladesh (East Pakistan till 1971), and even major economic displacement in India, where much of the North Indian elite were Muslims who fled to Pakistan and where the state of West Bengal - already poor - was overwhelmed by refugees who were now penniless. India's Northeast was also economically cut-off and is now an extremely backwards and deprived. And has there been peace or less communal tension? Far from it. The position of Muslims within India has actually declined as people are constantly questioning their loyalty to India and because they lack representation in the middle and upper classes (which mostly went to Pakistan). The two countries have fought three major wars and are now nuclear powers fighting over a disputed territory (Kashmir). Meanwhile, Pakistan was hijacked by the hardline militarist and religious establishment which seized control of the army and has prevented democracy from taking root and also funded the Taliban, Al Qaeda, and other terrorist groups in order to attack India.
That's a long example, but there are many more - Israel/Palestine, Greece/Turkey, Yugoslavia, and Northern Ireland and Ireland. Of course, I/P and G/T were probably unavoidable. But personally I think that had Northern Ireland not been partitioned the conflict would not have existed today - there would probably have been a civil war at the time, but there wound up being a civil war anyway. And although their numbers were far smaller, Protestants in the south of the country have long since integrated into Irish society. Yugoslavia is debatable - it's a myth that the cultures had nothing in common - they were long under the same rulers and given that they were demographically scattered amongst each other and spoke the same language, the union made sense. Whether it could have held together is an altogether different question and one that observers are divided on. J.K. Galbraith insists it needed to have been partitioned sooner as it could not have been sustained. Other observers have said that by encouraging Croatia and Slovenia to secede, Western powers caused the state to unravel when it need not have.
My point is ultimately that it's very easy to say "partitioning things will solve everything." It won't. It'll come with it's own set of problems and there exists every possibility that it will make things WORSE. It may ultimately be unavoidable and maybe it'll be preferable to keeping the country together. But the danger is that in seeking to avoid short-term instability and violence we'll get BOTH short-term instability and violence and long-term instability and violence.