You have 3 options;
Make whatever is in front of the object semi-transparent.
Render the object, then render what is in front of it (each perhaps on their own render layer), then composite the two renders in the compositer.
Move the object closer to the camera than the object that is obscuring it.
As far as I know, there is no "z-offset" setting for an ...
That's acutally pretty close. You just have to assign a MeshUVLoopLayer reference to MeshUVLoopLayer.active according to the API. Also I'd suggest exclude the active object from the loop and test whether there is an active layer within the poll method:
bl_idname = "object....