In C you can have external static variables that are viewable every where in the file, while internal static variables are only visible in the function but is persistent
I wouldn't want the existence of a static variable to force me to put the function into its own file. What if I have a number of similar functions, each with their own static counter, that I wanted to put into one file? There are enough decisions we have to make about where to put things, without needing one more constraint.