I use global.h to store all of my global functions and variables. This is also where you can add any included files via the #include statement.
I would say that VTS is the best solution for this. Using files is possible (i.e. having all virtual users point to the same shared file) but not preferred due to file contention. If multiple virtual users are trying to write to the same file at the same time, it could cause issues. VTS is pretty easy to install and it comes with documentation on how to implement it in your scripts. Just make sure it is installed anywhere you run virtual users (scripting boxes, generators, controllers) and you should be good to go.