Incremental Database/Data Change Restore
editted based on feedback in comments


If you could stay readonly than a good alternative to replication
could be log shipping. The vendor would create transaction log
backups. And send those backup to you. You then apply those
backups.You can't restore differential only, you would still need to
reply a full first. Another benefit of (delayed) logshipping is that, since the source is at the vendor (where you have no control over what they do with it, you might want to build in some buffer (in time) that when they make a huge mistake, you simply pause the logshipping redo, so you still have a good copy)
For restoring filegroups/files you need transaction log restores as well. It can work but it highly depends on the growth rate vs the transaction log rate if I would prefer this above option 1, simply log shipping. Furhtermore, partitioning your database and table just for the sole purpose of solving your replica problem wouldn't be the route I would pick first but I have some questions for you later.
Replication sounds like a very good option if you think the restoring of transaction log backups becomes to much work.
What prohibits sql 2000 from doing Bulk Inserts? However, if you think logshipping is tedious, keeping track of updating every single object sounds like a potentially more troublesome strategy.
I have no experience with cdc. somebody else has to help out on that.


Couple of questions for you:


How big is the initial database size?
What will be the daily, monthly growth rate?
What will be  the daily growth rate of the transaction log?
is it possible to have both locations in the same domain?
Is it possible to build a secure connection between the two locations?
What is the bandwidth between the to locations? what is the latency?


If we have some numbers, it's easier to provide you with a better advise.