[eluser]zwippie[/eluser]
About your first question, routing done by a library:
I don't think it is possible, because the routes are parsed and checked against the URI before the controller gets loaded. Autoloading of libraries is performed by the controller, so its too late then to reroute the request.
I might be wrong here, but I think this is what's happening when I try to follow execution flow of system/codeigniter/CodeIgniter.php.
All this is aside from the point that a one-in-all library file (containing routes, configs, views and the more) does not really fits the CI philosophy. Don't let a couple of more files or config rules scare you or you're future library users. ;)
About your last question:
(edit: the question you just removed
)
When an unauthenticated request is done, perhaps you can store the request URI in the usersession, redirect to perform the login, when that is ok redirect to the stored URI.