Unicode domain names could be implemented with a one way hash function with ascii output. That would solve the length problem. Depending on the hash algorithm, collisions would be extremely rare, and i doubt many domain names are already registered that are equivalent to the output of most hashes.
I guess it would be similar in a way to tinyurl.com
This obviously would only be a good option if the hash didn't need to be reversible. And I don't really see why it would be, since the dns system itself isn't perfectly reversible.