[eluser]hyperfire[/eluser]
Yes, it is doable.
First things first. If a user have already translated his website to German, other users who want to translate to German will have to use this user translation or everyone can have their own?
If users share the languages, this new language will need to have moderation (so you can validate the translation, before other users can use it. This may be stored in a table with an active flag or something).
If users don't share the translation, all you need to do is to have a language table with the default values on record 1 (to act as model) then every user just writes their own line on this table with a common insert (that you can read based on user ID, you have a users table right?)
To write into the CI language dir, that dir needs write permission so you can create the folder and the files.
Those files will need to share a common structure (the template library comes to mind) and there you go.