Yes - I am used to programming a computer with sub-routines so I got caught as well.
There are two ways - Gcode has a subroutine call M98 and the subroutine returns to the main program with an M99 code.
You can set up a group of offsets to move the table, and then call the sub-routine to drill.
If it is just a drilling an array, then you might prefer to write a macro in visual basic, where you might like to write "for x = 1 to 6, for y = 1 to 8, drill x,y" . Thats not the whole program of course but it could be just a few lines like that. Store the macro, put your workpiece in place and just call the macro.
I have several Visual Basic macros I have written for rounding the ends of bars, thining down axles and rods etc that take information from a set of DRO's I have inserted on a page, then I can call the macro's from within any program, just for that one job - then carry on the rest of the program.
If you are drilling an array of holes, then I think the macro would be the simpler bet - is it for drilling electronics boards or something similar ?