While there are strong regional identities often associated with the different states, a strong national identity, nationalism and the experience of a lost world war would lead to a reunification. Ideological differences could delay it (maybe even for decades if we look at BRD and DDR during the Cold War).
Germany wasn't made up of nations but of the realms of whoever happened to call himself the local sovereign. The only regions that have a national identity other than German are Bavaria, maybe Württemberg and parts of Prussia.
The statement about few strong regional national identities is misleading. We see in the time period under examination the coexistence of regional identities (or better regional nationalism) and German nationalism, since often people where strong nationalists with a strong regional identity at the same time. For example large areas of the former kingdom of Hannover elected their own separate conservative party (Deutsch-Hannoversche Partei, after 1945 Deutsche Partei) until the first decades after WW2, since they where unhappy with the annexation through Prussia after the war of 1866. Even today many people in the southwest of Baden-Württemberg identify with the former grand duchy of Baden and use their old flag. (There are also anthems for various regions of Germany, which are in some regions still in informal use)
The point was that unification was achieved by Prussian arms. Getting the country to unite is another matter. Its not that these movements would be provincial in nature but that they would put their own interests ahead of everything. Using American politics for an example: The Democrats tend to win in big states while the Republicans sweep the sparsely populated rural states We have the compromise House and Senate. But would one side really accept a system that they would always lose?
While the unification was indeed a result of Prussian arms, it was also the result of the existence of German Nationalism before the existence of a unified Germany.
A unified and strong Germany was one of the key demands of the 1848/49 revolutions. Many people who supported the 1848/49 revolutions supported the German Unification. Maybe the new empire was not as democratic as they hoped for, but at least it was strong and fulfilled many of their nationalistic dreams. There was also in the 1830ies a fear, that France would threaten the German Rhine, which resulted in anti-french propaganda in many parts of Germany. (Such fears for the borders could lead to a reunification in your scenario, if your France adopts expressionistic policies)
I doubt that comparisons to the USA are useful. We have different groups, parties and traditions (stronger socialist groups, monarchist reactionaries, and so on). You have a political system which favored the dominance of two parties in the US. In Germany we see between 1871 and today a plurality of different political parties, which are often connected to their own milieu (for example SPD - worker party, Zentrum - catholics ...) . Also there are differences between federalism in the USA and in Germany. The biggest problem (in OTL) was a too big Prussia inside a federal system.
From an economic perspective such a balkanisation is unsustainable. Baden or Württemberg are not big enough to be economic self sufficient. While it is common in Alternate History (written by people unfamiliar with the region) that Bavaria simply annexes Baden and Württemberg, a confederation between them seems more likely, since no one in Baden or Württemberg identifies with Bavaria (for example protestant rural areas in Württemberg could have a problem with a catholic monarch).
Even before the political unification happened, the Zollverein was basically a free trade area between most of the German States. Germany in 1918 is far more industrialized than pre1871 Germany.
If you really want to balkanize Germany, use slightly different borders than the 1871 borders. An independent Hannover could be possible. The Rhineland should be separated from Prussia. You could enlarge Hessen-Darmstadt with Hessen-Kassel (annexed by Prussia in 1866). Thuringia should be unified.
It should be mentioned, that there is a cultural divide between Northern and Southern Germany, and that there are nationalist conceptions of Germany in the 19 century which are anticatholic. But you need an earlier POD to use this religious differences to split Germany.
Communism:
- External: Soviet Union wins against Poland -> threatens East Prussia (a common scenario); Hungary can't do anything since it is probably at war with Romania (even if we consider butterflies). Who should invade Germany? Only if a communist revolution occurs in France, France could decide to export Communism into a weakened Germany.
- Internal: Communist uprisings could happen in most of the different balkanized states. But such uprisings would face serious resistance from conservative militias. Violent internal conflicts between monarchists, republicans, socialists, communists and protofacists could occur in the different states.
If one of the German states would face an invasion, other states would help, as long as the ideological differences aren't to severe. Nationalistic volunteer militias would travel from one state to another. But a Germany which lost WW1 is to weakened to fight wars against foreign enemies.
It is also necessary to mention, that German nationalism completely changed after WW2. Today mostly the AfD (right wing populist party) uses traditional (and toxic) concepts of German Nationalism (while German Nationalism and Patriotism is in most of its forms highly problematic), which where more mainstream hundred years ago.