You can use multiple UTXOs as inputs to a new tx. If you still don’t have enough then the tx would be declined.
The fee is merely implied as the difference between inputs and outputs. Wallets usually calculate the fee based on the recent confirmed tx in a block. Some might have more advanced methods, but none rely on the specific miners to make the prediction since miners don’t determine fees by themselves.
You need the private key to sign the tx, not sure what you mean by using the private key in this regard. Using multiple outputs to send change back to yourself to a new address is the most simple way of increasing privacy.