By machine cycle do you mean the homing/machine initialization, or starting a job ?
In both cases: not by interfacing directly with the machine controller, no (there are no I/Os that GRBL would monitor to trigger a homing for example)
There is however the possibility to hook up buttons/switches to the computer that runs the G-code sender, and write the code that will translate a button push into a specific G-code command to be send to the machine via the G-code sender, and with that capability you can do all sorts of automation commands.
It’s easy if you are comfortable with a little Arduino hacking, else…not so much.
Here’s a example using an Arduino and some code to interface with CNCjs sender: