Is it possible to create transaction with input being an unconfirmed UTXO?
The consensus rules permit a transaction that spends an output created within the same block. That isn’t spending an unconfirmed UTXO, but if two unconfirmed transactions exist with one chaining off the other, then they can be mined simultaneously.
The P2P protocol rules also permit propagation of unconfirmed transactions which spend unconfirmed outputs, so such chains do actually get relayed across the network, and make it to miners.
If yes, what happens, if such a transaction has a higher fee than the fee of the transaction, that created the unconfirmed UTXO? Will this transaction fail, because it was included into the block ahead of the UTXO transaction? Or will it be delayed, until the UTXO transaction is confirmed?
The block building and relay code in Bitcoin Core does take the fees of such chains into account even using a principle known as child-pays-for-parent (CPFP). If a descendant transaction pays a higher feerate than its parent, the two may get treated as a group, where the total fee is spread over the total size, virtually bumping the feerate of the parent.
And how much of this “chaining” can you do? (use unconfirmed UTXO from a tx, which uses unconfirmed UTXO etc etc.) Is there a limit?
The currently-implemented default policy rules in Bitcoin Core permit a transaction to have up to 25 unconfirmed descendants in the mempool (including itself), and up to 25 unconfirmed ancestors (including itself). In addition, there are limits on the total size (in vbytes) of these combined ancestor and descendant sets.
Note that all of this is likely to change with cluster mempool.