Approach to prevent Replay and spoofing attack on CAN protocol
You can use multipacket PGN's to send entire encrypted messages if you wish, with whichever counting method you like. For multipart messages using the built in methods there is no distinction. And expects you to have an expected size. 

Using your own methods you would want something similar to a rolling code to encrypt the message fragments + a party or crc. Then if other packets get inserted the crc fails. If they are replaid. The rolling code doesnt match and the crc is "likely" to be wrong.

All of this is documented in J1939.21 Data Link Layer, you should be able to find the 2014 version for free online