Moonbase only has 16 digits to worry about.
I have a friend with a sipgate.de number which is +4918016338460xxxx -- he said ok to publish whole number -- and that's 17 digits. He has no particular need for extreme measures to get this into enum, but it is a bit annoying that e164.org insists on rejecting it.
In general, systems should be standard compliant with what they "send out", that is, with what they create, but should be permissive with what they accept as input. "Strict in what you send, tolerant in what you receive." So sipgate.de really shouldn't be creating these absurdly long numbers that don't comply with the ISO E.164 standard, but e164.org should really be permissive with respect to accepting it.
It occurs to me, that in the specific case of sipgate, enum.org could simply get a completly free sipgate account which could be used to attempt to verify sipgate numbers completely for free. Now how you would determine that the number is a sipgate number and allow it to be overlong must remain an exercise for e164.org to figure out. I doubt you want to have a "provider" field during the registration process, but maybe you need to in the special case of long 01801 numbers in Germany.
/john
Edit Ghostwalker: Replaced last four digits by x - you don't want Spit either, do you?