no, that's what i used to think! =D
if you use, say...
#define parent skill50
#define child skill51
then when refering to an entity, and reading through your code, you can read
my.parent = you;
your.child = me;
makes it a lot easier on the eyes

rather than
my.skill50 = you;
you.skill51 = me; not knowing what it was doing,
but if you have entities that don't necessarily need parents and children, then those can be saved for something else, like road_rages, or fishing_trips, for want of a better example,
#define road_rages skill50
#define fishing_trips skill51
and then use those to still store values into skill50 and skill51 for different entities
my.road_rages = 100;
my.fishing_trips = 0; //i was too busy raging
NB: but then obviously you can't query their road_rages if you've set their parent
so if you have a cat pointing to a sound file for skill50, and a dog pointing to a sound file at skill 50...
#define bark skill50
#define meow skill50
#define voice skill50
cat.meow = str_create("meow.wav");
dog.bark = str_create("bark.wav");
sound_play(my.voice); //this syntax is crap but you get the idea!

hope this helps