If you still want a normal unit but it just won't be selectable you could just give it a blank model file. That may not be what you want though. Put this custom script into your map.
call UnitAddAbilityBJ( 'aloc', (put whatever unit here) )
aloc is ability locust, and thats the ability to be unselectable, untargetable and undestroyable by anyone but trigger editor :)
in other words, the only way to kill or remove such a unit is thru triggers
and why would u use custom strings when u can edit the unit and give it aloc (or Locust) ability straight away....
also, tnx for the custom string, i noticed that i can't add "strange" abilities thru "unit add ability"