Is there anyway of referring to the module publisher without having to hardcode the address inside the code/procedure?
Not currently. However, we are working on adding constants to the Move source language (pending some binary format changes in https://github.com/libra/libra/pull/2718). Will this address your use-case?
Yes thank you Sam