From a casual read of the manual, it looks like they use M98 "Filename" to call the subprogram and M99 to return from the sub.
The main program will contain the M98 Filename command on the exact line where you want to leave the main program. Obviously, you put either the name of your file in place of Filename, or else, standard practice would dictate that you use a program number to describe the program, but instead of using the big O for the filename, you would use P or sometimes another letter. So if the subprogram is a file called O12345,
M98 P12345
would be a typical subcall.
Now perhaps they've got this setup so that you can use a DOS type 8 character filename, but I'd try it simple first, to get it working.
At the end of your subprogram, you'll need a simple M99 and the controller should then return to the main program.
As for paths, one would think that if you kept both the main and the sub programs in the same folder, that the control should be able to find it.
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)