Sure, you can do this.

However, it should read
#define fall_speed ((var*)my.skill2)[2]
instead of
#define ((var*)my.skill2)[2] fall_speed
(etc).

It's not very flexible that way, though, as it requires the my pointer.

This is probably somewhat more convenient:
#define fall_speed(ent) ((var*)(ent)->skill2)[2]
...
fall_speed(my) = 56;