If its just a few bytes that you need to send, then technically the PIC is probably sufficient, you just need enough RAM to build up the packet that you wish to send - it doesn't need 1500 bytes if you're just sending a few bytes over UDP.
You could consider if you really need the TCP/IP stack - you may wish to just implement your own cut-down stack that would only send UDP.
I've not done this with PIC or ENC. But for a project (with different hardware) where I wanted to receive (not transmit) UDP packets, it proved very easy, because I chose to ignore checksums, and just read the UDP chunk that I was interested in. I chose to verify that I had correct reception by just sending multiple UDP packets from the server, and embed a sync byte in the protocol that I was carrying over UDP. I did not use any TCP/IP stack.