I would like to prevent users from keying into an inputfield; instead, they have to choose from a local help. I have got the local help application to work, but how do I disable user input?

The operation is tricky, but not impossible:
Let us assume that you have an entry field F[Type] with possible values 12889 "Eastern region",  56681 "Middle region", and  further  values, so that a solution via radiobuttons is not very practical. You already have a local value help file, e.g. "dom.E.TYPEXY.txt", where TYPXY is the domain name for F[TYPE].:

To disable input, put a

NoInput  F[Type]

statement into the script. Now local value help is still available via right mouse button or application key, but the selected value is no longer entered into the field. To achieve this, create the local help file in the following way:

HistorySize=0

12889  //Eastern region //Input=U[TYPE]:12889;OK:process=set_type.txt

56681  //Middle  region //Input=U[TYPE]:56681;OK:process=set_type.txt

....

and an InputScript "set_type.txt"

Parameter TYPE

Set F[Type] "&U[TYPE]"

Return

Now the local help will put the selected value into the read-only field F[Type]. Finally, since the user probably needs a hint that he can select a value, create a small .gif file "seltype.gif" that looks like the small button  behind usual drop down entry fields. Display it just behind the F[Type] field, e.g.:

Image (1.5,54) "seltype.gif" Input="Type:@History"

When the user clicks on the image, the local help for the field F[Type] is displayed.