I failed to account for fees, however, and instead of sending an additional amount to one of these inputs, I'd prefer to simply use another input to pay for fees, leaving all the spend inputs intact.
So include all the inputs you want, add an extra input to cover the fees, set the outputs you want, set the fees you want, and the left over from the extra input will be returned to you as change.
Is there a way to do this? Coin control only seems to let me select inputs to use, but not to determine which is used to pay for fees.
There is no way to select this, and indeed, no such thing. When you have a transaction with multiple inputs and multiple outputs, it is impossible for anyone to say which bitcoin ended up where.
At a protocol level, your fee is simply whatever amount of bitcoin you don't specify an output for. There is no "fee" field in your transaction; it is simply whatever is left over. And so there is no way to assign specific bitcoin to the fee (or indeed to any output).
Or are all inputs combined anyway, before being split up?
Essentially, yes.