How about using the standard S-Pen interface but calling...
target.SendMessage("OnPress", pressed, SendMessageOptions.DontRequireReceiver);
...and the like to the intended NGUI widget? There's a script UIForwardEvent that lists multiple different event options, so you should easily be able to capture S-Pen events like hover and button-press and call whatever event you want in response. You can get the UI control underneath using the UICamera, I think.