Is it better to pay in USD or Rupees for gems?

It is generally better to pay for high-value gemstones in US Dollars (or Euros/GBP), because Sri Lankan dealers tend to lean on stable foreign currency a lot, and they will show their steepest discounts for cash dealings in those denominations.

Since the Sri Lankan Rupee is always moving around, jewellers often use a slightly unfavourable exchange rate, just to guard their margins when they price items locally. Still, always do the math yourself. Ask for the final price in both USD and LKR, then check the daily interbank exchange rate right on your phone, and go with whichever currency gives you the better mathematical position, not the one that sounds nicer.