Here how to add a path to the SAS Autocall facility. It's in a macro so that the new path gets only added once even if you call the macro multiple times.
The command itself - which you also could add to the autoexec or .cfg is: insert= sasautos(<'new path'>);
%macro SASAutos_addPath(path);
%let path=%nrbquote(&path);
%local curpath;
%let curpath=%nrbquote(%sysfunc(getoption(sasautos)));
%if %sysfunc(find(&curpath, &path)) <=0 %then
%do;
options insert=sasautos=(%unquote(%nrbquote(')&path.%nrbquote(')));
%end;
%mend;
%SASAutos_addPath(~/test);
%helloworld();
%put %nrbquote(%sysfunc(getoption(sasautos)));
You then can save your .sas files with the macro definitions in this folder. Important is that the .sas file has the same name than the macro definition in it (and under Unix/Linux the file name must all be lowercase).
In the example above I've created a file helloworld.sas under path ~/test with below code in it.
%macro HelloWorld();
%put Hello World;
%mend;
Once you've done that you just can call the macro. SAS will search through the paths defined in SASAUTOS and pick the first matching member. So here running the code returns the following:

Please note: The first time you call the macro it will get picked from your disk location (here ~/test), the code gets executed which compiles the macro into work. For any subsequent calls of the macro in the same session SAS will pick the already compiled version in the macro catalogue under WORK.
What this means: If you change the macro code in the .sas file then you need to either create a new SAS session or issue an %include (as in your initial code) so that the macro gets recompiled again for testing of the changes.