I'm trying to send ether to a contract that has a fixed gas price, so I want to know if I can incentive miners to accept my transaction before someone else's by setting a high gas limit. Do miners work this way (ie. if there are two transactions to choose from, both doing the same thing for the same gas price, can they choose the higher gas limit one and make more eth by mining it?), or is the amount of gas used fixed based on the transaction data, opcode, etc.?
Yes, you can prioritise your transaction over others by offering a higher transaction fee (transaction fee = gas value * gas price).
Miners tend to prefer transactions that carry a higher transaction fee and will therefore prioritise such a transaction over others regardless of the type of transaction and what the transaction entails.
Some smart contracts have maximum gas limits set on a method level and would reject txns that exceed this limit.
I had never heard of the term "fixed gas price" and was about to answer that there is no such thing. Then I started thinking that a contract may check the gas price with
tx.gasprice and revert transactions which don't fit some desired gas price value and it might even make some sense.
The more I think about it the more it might make sense for example for ICOs which want equal treatment for all participants.
If you can't use gas price as incentive for the miners there isn't basically anything you can do as gas price is supposed to be the incentive. Setting a different gas limit will not give the miners any more income - it's just the upper bound for gas usage in your transactions and it doesn't change anything for the miners unless the transaction runs out of gas. I assume you want your transaction to go through so it doesn't make sense to set too low gas limit but setting it too high won't help you incentivize the miners.
The only thing I can think of on how to improve your chances is to send multiple transactions (with different nonces) and preferably even from different nodes. In this case you have to be prepared that all of the txs go through at some point. This is typically not a very viable option.