Outputs spent by a transaction simply reference the txid of a previous transaction and the index of the output being spend. There is nothing preventing you from referencing the same transaction multiple times with different output indeces.
However, this doesn’t sound like something that will often happen in practice. If a transaction is spending multiple outputs, they are more than likely controlled by the same entity, which means someone previously had to send a transaction with multiple outputs going to the same entity. There are few reasons to do that and not send one larger output.