There are many ways to handle something like this...it often depends on how you set up the character and the environment/props.
The 'obvious' way is to make a reference of your entire character (from its top parent), and place that in front of the table. Then, you simply hide all the parts that should not appear 'in front' of the table (basically, everything but the lower left arm and hand.) Be sure to animate only the original if you want to keep the animation in-sync. It's possible to re-sync but it's best to avoid animating the reference in the first place. To make the switch from behind the table to front, just keyframe the visibility of the reference until just before you need the arm to appear on top of the table.
If the arm is not 'split' so you can hide the upper arm in the reference, you can add a mask there to hide the upper portion. just make a mask slightly bigger than the upper part of the arm and bind it to the upper arm bone.
Another way is to make two copies of the table. Put one in front and one behind the character. Animate a loose mask to hide a section of the closer table layer to reveal the arm and make it look above the table.
Yet another way is to actually insert the table inside the character rig. This gets a little more complicated but I sometimes do this when I need to have the character interact with or directly affect the object. You can make duplicates and masks inside the rig as needed.
There are a few other tricks I can think of but this should get you started.
Hope this helps. Let us know what you wind up doing.
Nice art by the way.
