You could either put this in a macro like Ger suggested and have it in the initialisation screen or you could put it in a macropump. The difference would be the initialisation would make sure its on at startup but they could still be switched off by the operator and would only come back on again if the button was pressed, the m500 was called in code or MDI or you restarted Mach.
If you put it in a macropump it would be impossible for an operator to shut the softlimits off as everytime he turned them off the macropump would switch them back on. This of course has another drawback in that if for any reason you need to switch them off you will have to disable the macropump and restart mach.
The easiest option would probably be just to make the softlimits button invisible, you would know where it was but if positioned right it would be almost impossible for an operator to find it.
If going the M code route do like Ger suggested and save the below code in a text file as m500.m1s to your profiles macro folder, then go to Config then general config and type m500 into the initialisation string.
If the macropump route then save the code in a text file named as macropump.m1s and as above save in your profiles macro folder. You will then need to go to Config, General config and chek the Run Macropump box.
Both of the above will require a restart of mach to get them working for the first time.
If Not GetOEMLED(23) Then
DoOemButton (1029)
End If
Hood