SQL Server Spill level 0 - what is it?
An exchange spill (ExchangeSpillDetails) occurs only in response to an intra-query parallelism deadlock. SQL Server resolves the deadlock by forcing one or more of the exchanges (parallelism operators) to write its buffers to tempdb.

There is no concept of a spill "level" for an exchange spill (unlike sort or hash spills, which may require multiple passes or recursion). The unpopulated value is reported as zero.

You will generally want to avoid parallel deadlocks because they are resolved by the Resource Monitor, which by default only wakes up every five seconds. It will check for deadlocks more frequently than that if there has been a recent deadlock (of any kind) but it's never going to be great for performance.

One more general note: Parallel deadlocks occur due to dependencies between threads, almost always related to preserved ordering. Parallel merge join with order-preserving exchanges on both inputs are a good example of this.

For a cool visualization of an intra-query parallel deadlock, please see Grokking the Paul White Parallel Deadlock Demo by Forrest McDaniel.