This should be simpler. What do I need to define what should happen in place of a 404 error?
Read a little bit more on Error Handling for CodeIgniter. If that doesn't completely satisfy you, try editing your 404.php error file to make it do whatever you want it to do.
Check out my answer for CI Base URI Routing.
What you can do is extend CI's Router to re-route requests for non-existent controllers to your own error handling controller.
However, with CodeIgniter 2.0 (which I have been using with no problems at all in the real world), this is as easy as setting a 404_override
config item that routes all invalid controller requests to your own controller in the exact same way without having to extend CI with your own library.
Either way, you could write your own error handling methods using the exact same functionality you would be able to use in any other controller.