Not sure if I understand your question correctly, but from Ubuntu you can call grub-reboot
$ grub-reboot --help
Usage: /usr/sbin/grub-reboot [OPTION] entry
Set the default boot entry for GRUB, for the next boot only.
-h, --help print this message and exit
-v, --version print the version information and exit
--root-directory=DIR expect GRUB images under the directory DIR
instead of the root directory
ENTRY is a number or a menu item title.
Report bugs to <bug-grub@gnu.org>.
$ grub-reboot 12
to boot to Grub option 12 once on the next boot, after which it will revert back to the default. Would this be able to solve (some of) your problems?
I forgot if the number argument started to count at 0 or 1, but try them both and feel free to edit this post with the answer. Either way names are probably safer to use, as the grub menulist occasionally adds new items when you update your kernel.