I don't think you need handles at all. A pointer can be stored directly in a skill:

you = ent_create(...);

players[myClientID].skill[40] = you;

later on:

you = players[myClientID].skill[40];
if(you) ptr_remove(you);
players[myClientID].skill[40] = 0;


~"I never let school interfere with my education"~
-Mark Twain