Now, my question is: Is there a way to tell fuel to use the view from the app (if there is one) and not from the module? But I want to use the view from the module as fallback (if there is no view-template in the app)?
It will automatically do that if the module does not contain a view called 'login'.
If the module does contain one, there is no way you can force it to load the global one. Not a good architecture anyway, you'll drop all loose coupling you want for your modules...
Ok, but what would be a better architecture to solve such problems?
I want to create app-independent modules (like user handling) and inside the app, I want to customize the modules (for example change the view/template).
I suggest you look at the Theme class which is designed to decouple the views from the code (both module and app).
It allows you to store the default theme template views in the module (or app), and override them in the theme folder. It also allows you to use multiple themes at once.