How to code communication between two enc28j60?
It is up to you to decide if IP/TCP/UDP makes sense. You know what the purpose of these protocols is, right: communicating on very, very large scale networks, composed of very different kind of computers. Bascially: what Internet is.

Do you need that?

If all you need is just your two devices communicating in a point-to-point fashion, with a simple cat5 cable between them, then nothing prevents you to send raw ethernet packets and forget about all the IP stuff. Nothing prevents you to implement your own, very simple protocol.

In any case, the ENC28J60 datasheet sure won't explain how to do TCP communication, because this protocol isn't specific to the ENC28J60. To understand how TCP works, you need to read the appropriate RFCs. The chip doesn't care at all what protocol you use above the MAC layer.

That's what the OSI layers are about: separating the concerns.