AFAIK, you cannot "package" functions in PostgreSQL, but it is possible to call a function from within a function.
That being said, I would seriously look at how and why you are writing your functions as functions that call other functions are not very efficient.
I am not following. That is what packaging is about, separating out 'units of work' so they can be combined as needed. Part of that is using existing functions in new functions/classes. In fact in the Postgres source I see this in many places. Now it is entirely possible I missed a memo, so I am open to a more detailed explanation of the inefficiencies involved.
The Postgres source is written in C, not in plpgsql. C has a good optimizing compiler and plpgsql doesn't.