Is there a way where I could intercept OnDisable, delay it enough to play an animation for the object to show it disappearing, then allow Unity to disable/deactivate the object?
You can't "intercept" disable. What you can do is instead of disabling the object, just play your animation, and create an Animation Trigger at the end of the animation that triggers code that finally disables the object.
Right... I forgot to mention, I want to do this when the user clicks the "disable" box on the editor !
Not possible as far as I know. You could maybe spawn a new object and play a "fadeout" animation on that object, then destroy it. Seems like a lot of work for an editor feature though.
Yeah, if this were a gameplay feature, it would be doable, but what's the point of doing something like this in the editor?