All your arguments for using include() instead of functions are all the reasons why functions were invented in the first place 🙂
Functions give you the ability to re-use code instead of having to parse the same piece again and again.
They also force some programming discipline by demanding that you give the right parameters. If a parameter is missing the function will fail, so PHP gives an error to warn you.
And they have their own variable scope, which means that you can do whatever you like inside a function, without having to worry about messing up vars that are being used somewhere else in the code.