GSMachinist,
Yes, I believe what you would like to do, is possible.
Or I should say, it would be possible on a standard "i" series Fanuc (ie. 18i/21i/31i).
I have never had any exposure to an 0i controller.
Basically, this would be similar to what a probe does, electronically/automatically, only you would be manually finding your position, and using your custom M-code to capture your location.
Pretty much what you described in your post.
The system variables that you will want to review and use for your macro program will be the #5021-#5028 Current Position - Machine.
I would also want to look at the #5081-#5088 system variables, which are for the Tool Length Offset.
You will then want to transfer the values from these system variables, into the Workpiece Coordinate Variables #5201-#5328.
The macro program number will need to be O9020-O9029, in order to be used as a custom M-code.
With this series of custom M-codes, you could also take your macro program one step further, and vary which Work Offset you want to save the current position to.
If you are not familiar with Macro B programming, here is a some good reference material:
https://sovathrothsama.files.wordpress.com/2016/03/fanuc_cnc_custom_macros.pdf
Macros can be very useful, but sometimes very trying to develop!
Very gratifying, when you get them to work like you want!
Hope this helps!
Good Luck!