I would normally expect something like this:
.GLOBAL VDD! GND!
Vsupply VDD! 0 DC 5
Xand 1 2 3 NAND2
...
.subckt. nand2 A B out
M1000 out A VDD! VDD! pfet w=10u l=1u
+ ad=30p pd=22u as=30p ps=32u
M1002 a_n52_6# A GND! GND! nfet w=10u l=1u
+ ad=30p pd=22u as=15p ps=16u
...
.ends
. model ...
.end
You don't need to connect GND! to node zero in Hspice - it is treated as node zero. Other simulators may need a zero volt source to node zero (such as my simulator!).
I don't think you need the exclamation mark in Hspice, but it is common. I am not sure why, but it may be due to the digital libraries really coming from Cadence. I am not sure if it means it is global in Cadence without needing the GLOBAL statement. Anyway try it without the ! and see what happens.
Keith.