Rsync always sends a list of files (and their attributes). But typically most files haven't changed. They could just send the files that have changed since the last sync.
Yes in the general case. But in the case of a backup that's done daily the sender can say... there are all the files that changed since we last did this.
rsync already supports that. It has an "offline"/"batch" mode - you can generate a diff, only send that, and apply it at the other end. However, you are unlikely to save any traffic that way. rsync is super efficient and does not necessarily send complete directory listings.