LTSpice - How to specify the component model name through .param directive
Since you are NOT looking to step through model names, automatically in a simulation, I think I can help you.

Place all of your .SUBCKT models into a .LIB file somewhere handy and save the file. You will reference this file in your symbol description.

Now, when editing your symbol, use the Edit/Attributes arrow and select the presented option called Edit Attributes. You will get a nice dialog box there. Note that one of the items is called ModelFile. That is the one you want to edit. Place your newly created .LIB file's name there. Save it.

Now, to make sure things were correctly added, call up that .ASY file you created in a text editor (Wordpad, for example.) Here's an example file I have made that shows an outline of what you might also see:

Version 4
SymbolType CELL
LINE Normal 0 44 32 44
LINE Normal 0 20 32 20
LINE Normal 32 20 16 44
LINE Normal 0 20 16 44
LINE Normal 16 0 16 20
LINE Normal 16 44 16 64
LINE Normal -16 0 0 0
LINE Normal 0 0 8 20
WINDOW 0 44 11 Left 0
WINDOW 38 44 50 Left 0
SYMATTR SpiceModel 2N6028
SYMATTR Prefix X
SYMATTR Description Programmable UJT
SYMATTR ModelFile PUJT.LIB
PIN 16 0 NONE 0
PINATTR PinName A
PINATTR SpiceOrder 1
PIN -16 0 NONE 0
PINATTR PinName G
PINATTR SpiceOrder 2
PIN 16 64 NONE 0
PINATTR PinName K
PINATTR SpiceOrder 3


Note that there is included ModelFile next to SYMATTR. That's about what you should also see. Keep in mind that you may need to first re-start (close, then re-open) LTspice in order to get it to find the files. Maybe not, but it is more sure that way.

(Note also that in editing you will want the SpiceModel to be a visible attribute, or else you will NOT be able to see your selection on the schematic. And not seeing your selection is almost always a bad thing.)

You can now use F2 to pop up your selection for your X device (.asy) and drop it into the schematic. Right click on the device and you will be able to edit the SpiceModel entry there and set it to whatever you want. That value will be directly scanned for, by LTspice, when skimming through your models in the .LIB file you gave for the ModelFile attribute of your symbol.

Hopefully, you find that works okay.

By the way, here is the .LIB file's contents for the above .ASY:

.SUBCKT 2N6028 1 2 3
*Programable Unijunction Transistor
*MODEL FORMAT: PSpice
*       anode  gate  cathode
*node:    1      2      3
Q1 2 4 3 NMOD
Q2 4 2 1 PMOD
.MODEL NMOD NPN(IS=2E-15 VAF=100 IKF=0.3 ISE=2.5E-12 NE=1.6 RE=0.15 RC=0.15 CJE=7E-10 TF=0.6E-8 CJC=2.2E-10 TR=4.76E-8 XTB=3)
.MODEL PMOD PNP(IS=22E-15 VAF=100 IKF=0.3 ISE=1E-12 NE=1.7 RE=0.15 RC=0.15 CJE=7E-10 TF=1.6E-8 CJC=2.2E-10 TR=5.1E-8 XTB=3)
.ENDS
*
.SUBCKT 2N6027 1 2 3
*Programable Unijunction Transistor
*MODEL FORMAT: PSpice
*       anode  gate  cathode
*node:    1      2      3
Q1 2 4 3 NMOD
Q2 4 2 1 PMOD
.MODEL NMOD NPN(IS=5E-15 VAF=100 IKF=0.3 ISE=1.85E-12 NE=1.45 RE=0.15 RC=0.15 CJE=7E-10 TF=0.6E-8 CJC=2.2E-10 TR=4.76E-8 XTB=3)
.MODEL PMOD PNP(IS=2E-15 VAF=100 IKF=0.3 ISE=1.90E-12 NE=1.5 RE=0.15 RC=0.15 CJE=7E-10 TF=1.6E-8 CJC=2.2E-10 TR=5.1E-8 XTB=3)
.ENDS


So you can see that it isn't that complicated, in practice!

EDIT:
When I place my PUJT on the schematic, and right click on it, I see:

Prefix      X
InstName    U1
SpiceModel  2N6028
Value   
Value2  
SpiceLine   
SpiceLine2  


Note that Value, Value2, SpiceLine, and SpiceLine2 are empty. Note also that the Prefix is X (as I think you know it should be.) And note that I do NOT have some kind of = statement in the SpiceModel line. I merely provide the name of the SUBCKT that I want to use. Nothing else. LTspice will grab that value and search the .LIB file for the SUBCKT name and, if present, will find and use it.