Transactions don't "collide" and orphaned blocks are created every time a block is abandoned. Orphaned transactions aren't a term that is typically used, and therefore doesn't have a well defined meaning.
It really sounds like you don't have a good understanding about how bitcoin works, and therefore are headed down the wrong path of thought. You are asking questions that don't make much sense and that are therefore difficult to answer (What does the color blue taste like? How many miles is it from here to yesterday?)
Each block has a reference in its header that indicates which block is the block immediately before it. This is how the blocks are "chained". Typically (when there isn't a fork) a valid block is broadcast by a miner that references the most recent previous block that nearly everyone has on their blockchain. All full nodes receive this new block, validate it, and then add it to their own blockchain and relay it to all their peers. As miners receive this new block and add it to their chain, they begin working on a new block that references this new block as the "previous" block.
A "fork" happens when two different blocks are both built referencing the same previous block. If some of the network receives one of these blocks and some of the network receives the other block, then the network has "forked" into two slightly different blockchains (this happens nearly every day). Depending on the reason that this fork has occurred, it may clear up with the very next block (this is what happens most of the time). That typically happens when two different miners each solve a block within a second of each other. It's also possible for the fork to be permanent if each segment of the network decides that it wants to keep its fork and ignore the other one (this is what would happen with a "contentious hard fork"). A fork can also happen if a new version of full node software has a bug in it. Typically these have been resolved within a few hours.
When a forks happen, it is possible that multiple different transactions that share an input end up with one in each branch. The branch that ends up "winning" is the one that will have the "real" transaction, the rest of the conflicting transactions will simply cease to exist. If your node is on a losing branch and eventually switches over to the winning branch, it's possible that you'll see a transaction as confirmed on your losing branch and then suddenly see it disappear when you switch over to the winning branch. It's also possible that you'll see a transaction as unconfirmed, and then see it disappear when you receive the block that puts you on the losing branch, then later see it come back as confirmed when you switch over to the winning branch.
When a forks happen, it is possible that a transaction is confirmed in some of branches, but not other branches. The branch that ends up "winning" will eventually be the true indicator of whether or not the transaction is confirmed. If your node is on a losing branch and eventually switches over to the winning branch, it's possible that you'll see a transaction as confirmed on your losing branch and then suddenly see it unconfirmed when you switch over to the winning branch. It's also possible that you see a transaction as unconfirmed on your losing branch, and then suddenly see it with multiple confirmations when you switch over to the winning branch.
Forks aren't measured in numbers of transactions, they are measured in numbers of blocks. A block can have 1 transaction in it, or it can have a megabyte of transactions in it (or any amount in between). So it is entirely possible for a 1 block fork to only be a 1 transaction fork, but it's also possible for a 1 block fork to be a 3000 transaction fork. It's even possible that one branch of a 1 block fork has 1 transaction, and the other branch to have 3000 transactions.
Thanks, transaction and block are synonymous in my project, so I really wanted to ask how many blocks it lasts.
I see that the answer is "depends" and "nobody knows" or "eventually"