Since pointers are 32 Bit and skills (aka vars) are also 32 Bit in Gamestudio (at least until a native 64 bit version is released), you can simply store these pointers into skills without converting them to handles.
Here's an example how to save and retrieve with a cast:
myStruct* pt1; myStruct* pt2;
...
my.skill[0] = pt1;
pt2 = (myStruct*)my.skill[0];
EDIT: of course this also works with engine pointers (including ENTITY*), so there is not need to use handles for this anymore. In general C, this is considered to be a very dangerous method as pointer size can vary between platforms. For 3DGS, I'd say this is a needed hack to overcome platform limitations.