How to set global functions and variables in compute shaders

I am working on an asset for the unity asset store that works with compute shaders
Id like the User to be able to use my asset similar to namespaces, where they include the name of the asset in the compute shader and get access to some functions and data (which is managed and set from c#). This can be achieved using Include directives.
The problem is that if is use a pragma, unity will ignore it, which they also say in the wiki, but i need to have a kernel to set global textures that can be accessed by the global functions.
My questions are:

  1. Is it possible to set computebuffers/textures to compute shader that doesnt have a #pragma?
  2. Is it bad practice to add global shader functionality using #include? (since i havent seen any asset that does that)