You can do that.
On youtube you see a few app's that can control a linuxcnc machine with a smart-phone.
I personally would do this trough a loaded real time c component that is connected to a webserver working with cgi (c-coded) command's.But that would be my way...It's not like data streaming in the first place, or a cloud based device.
But that can be done in later stadium.
But the simplest solution is a doing some halui command's (connection's) in this case the X5 to X12 has to be done by halui.jog.N.plus.
You can connect this to physical user button's. Just like a pendant, or you can connect to a plc or rasperry pi.
for axis position : halui.axis.N.pos−commanded
That's a float output. connected in a simple way in your postgui.hal file.
Maybe you can connect a little piece of python code to your postgui.hal file to execute position control by the halui interface.
You can google for that option.
for more info :
linuxcnc.org/docs/html/man/man1/halui.1.html
to connect stuff in postgui.hal file :
net Xaxiscontrol halui.axis.X.pos Inputdevice
#float based input, if other input, convert it with hal modules. this takes time..
#inputdevice = is your device that outputs the float value. in this case X12-X5= 7
#The float value will be 7. (float can be displayed as 7.000001) because of the huge memory of float value's, no problem.
#Xaxiscontrol is just a name for the net (glue) command. ( see halmeter for the Xaxiscontrol name. You will find it if used )