I wish Papyrus has an "inline function" feature, where functions like these could be specified as inline in order to tell the compiler to put the function body directly in the code in order to get around this. Unfortunately, in order to modify the compiler I'd essentially need to recreate it from scratch first, but for something like this a preprocessor, which takes in the script and spits its own output into the compiler, might do the job.
It's worth keeping in mind that, although extra function calls that aren't absolutely necessary do add extra overhead, they should still be used where they can significantly cut down on code duplication.
It's hard to have a guideline about whether "multiple small scripts" is better or worse than "fewer longer scripts" - it's basically going to depend on what you're trying to do. When deciding whether to use one main "controller" script or several shorter scripts on different objects, the primary concern should always be how they will work with threading.
As far as I'm aware, a single object can only have a single active thread at any one time. So, if you were to set up your mod such that one "master" object (probably a quest) did everything, and lots of other objects were calling functions on it all the time, you might find that it's busy enough to slow down your script and you could split it into multiple scripts in order to speed things up.
However, if you split everything into multiple scripts then you might end up slowing things down overall because multiple objects need to talk to one another when you could instead be keeping everything on the same object. Like I said, it's going to depend on the mod.
Cipscis