It would help to know exactly how you want to use this:
- in this run only, or come back to that place some other run or day?
- just station keeping there or a waypoint on a multi waypoint course?
- would it be OK to use the GCS before or after the run, just not during the run?
Are you aware that GPS readings for a single location can easily be different by several meters some time (hour+) later? GPS is only accurate to about 5 meters. Modern drones enhance this with visual recognition to land where they took off.
There is also a capability of running a python script. That is associated with waypoints. With writing a python script you have access to everything, including HomeLocation PoiLocation and the currently loaded waypoints. Writing a script is a programmer thing though. Script could be just "add a waypoint here then do X (say position hold till flight mode changes)"? That would still require you to save the waypoints (using GCS) after the run if you wanted to use them another day. To make it save/load to settings memory and not need the GCS at all would be a task for a developer who could work with the LP source code.
I don't think there is anything you can do to set a waypoint from a transmitter switch, but there is a thing called Point Of Interest POI in the flight modes. I have never used it and am not sure what it does. It may not be helpful in that it only keeps the vehicle (VTOL intended?) pointed at the POI?
There are also transmitter scripts that can be written and some already written on the internet. That, combined with transmitter telemetry and a possible GPS addon for the Rx could do something, but that seems like a hack if you are using an FC already.