It don't find it very useful. It's not that it does anything bad, it's just that I don't see what value it adds. None of the "good" points hold any value for me.
I'm not sure I agree with your second "good" point anyway. For example, when using get_client_id_for_username, the programmer knows he's using EG::DB::Clients. He *should* know he's using EG::DB::Clients. That's why the methods were placed in a seperate module in the first place. Perl doesn't care if the functions are in seperate modules or not. By hiding the partitioning of the functions, you're nullifying the advantage of creating the modules in the first place.