Yes, if you just change the i= value, that will change which product that button adds to the cart, though of course the new value must match the Item Number of an existing product configured in your Seller Admin (i.e., you can't just make up a number and have it "just work"). Of course if you are using Variants, those values appended to the button URL must match what values you have configured here as well, but I don't think that's relevant in your particular case.
I believe we only match IPNs to the Product Name in the case of eBay auction titles; this is so you can keep relisting the same product with the same title, rather than having to constantly update eBay Item #s. If you are "faking" an eBay auction payment of sorts, to trigger PayPal IPNs to our system and thus trigger issuing of codes/download links from our system, then you would need to pass an auction title string that matches a product name you've configured here.
We do not check the price only for actual eBay auctions, as auction closing prices can vary but genuine eBay IPNs cannot be spoofed, so we just accept whatever total those IPNs give us (by that time, the buyer has already paid, so the amount is only relevant in terms of what figure we store in the log and display in thank-you emails/pages). However, for any non-eBay sales, we do verify a price match with your product configs here in order to prevent spoofing of payment amounts.