I just read that German phone numbers will be 11 digits long (variable-length area code without the 0 + local part) as of mid-2011 (article in German).
This will only affect new numbers, though; old, shorter numbers will "mostly" ("weitestgehend") stay the same. Another exception is for the four big cities that have two-digit area codes (30 Berlin, 40 Hamburg, 89 Munich, 69 Frankfurt); they will continue to have eight-digit local numbers for a total of 10, rather than 11, digits.
FWIW, the shortest local number I know has three digits (370, IIRC), from someone in my sister's school class many years ago; he lived in Seestermühe, which is a pretty small place.
On the other hand, if you count numbers with extensions, it's hard to beat the one-digit main number for Volkswagen in Wolfsburg: 9.
IIRC, the switchboard is 9-0 and other extensions are typically five digits, e.g. 9-12345—the longest length for extensions I've seen so far. My company has two digits (I have -37) and T-Systems has four (my desk here has -2361).
Interesting that they let existing users keep their numbers; when they've done this sort of thing in other countries, they typically extended everyone's number, typically by tacking on a constant string to the start of everyone's phone number, so that they could then allocate new numbers starting with different strings. As it is, though, a six-digit Hamburg phone number (for example) blocks 99 other possible numbers (since if 12 34 56 had insted been 12 34 56 00, one could—in theory—have also allocated 12 34 56 01 through to 12 34 56 99).
Local numbers were already variable-length, and even when they extended the length of regularly-issued new numbers, older subscribers also kept their numbers.
(In many smaller places, you can tell new ISDN numbers since they start with "9", which was formerly reserved; those are typically also longer than analog ones. For example, my parents, with "54542" (5 digits) and "905048" (6 digits) added when we got ISDN.)
I also find it handy that there is now number portability within an area code; previously, you could only keep your number if you moved inside the same exchange. (The corollary is that it's no longer possible to find out where someone lives by their phone number, e.g. 880 = Othmarschen, 700 = Neu Wulmstorf; I remember that the advertising newspaper had a big list mapping postal codes and telephone number prefixes to neighbourhoods, so that you could figure out where someone probably lived who was offering something, as a guide to the effort necessary to pick it up.)