I created a very simple test: Create a squashfs, add an empty file to it named "a" so that it appears near the start (where it will do the most "damage"), and then edit that file. All together three archives were created, all 8MB in size.
A bpf diff from the first to the second only used a few K. Adding the empty file had no impact on the data or superblocks, the diff was strictly in the directory table near the end of the file.
A diff between the first and third, and the second and third, however, yielded a 7.5MB file: effectively the inserted data caused a shift which the tool couldn't actually handle, so the "diff" was almost the entire file. In theory it should be able to, the format supports it and I was able to confirm that a huge chunk of data was identical between all three files, but I suspect this is a much harder problem to solve than it initially seems.
TL;DU; Binary diff and patching is theoretically possible between squashfs (and therefore PND) files, but the tools that should be able to create such a diff don't.