How are fees charged?
They are charged in the currency fee set during a trade.
Due to a discreet nature of trade matching process, it's rather tricky to give a definite answer on how each individual fee is applied. However, a good rule of thumb is to choose a fee currency when placing an order, as this is the one in which fee will be subtracted.
Are the fees applied separately from my account's balance? Or are they included in trade costs?
Usually the former is the case - but the latter can occur under certain circumstances:
Normally, fees are NOT included in a trade and are subtracted from the remaining account balance.
However, if you quote your order in a chosen fee currency (for example, you Buy 500 EUR worth of XBT in XBT/EUR pair), then fee will be included in an order*.
*This means: if your account's balance is 500€, you'll be able to buy bitcoins worth 500€ minus transaction fees.
Can I set the currency I want my fees to be charged in? Can I choose to be always charged in a single Currency?
Yes to the first, no to the second.
Fees can be chosen to get applied in either quote or base currency. So if you're trading LTC/XBT, then it's either XBT or LTC. If, however, you're trading XBT/USD, it's either XBT or USD.
All quotes taken from the Kraken Support Ticket.