I don't imagine that the compatibility level would affect deadlocking, and you'll have other side effects that may impact performance by changing it. Typically I prefer to set databases to the highest compatibility level available, it generally doesn't hurt, but just be aware that it might.
What I would recommend for deadlocks is setting the database to Read Committed Snapshot Isolation, that should reduce some locking contention. Another thing to look for is transactions created by application code, this sometimes happens with ORMs or other code that's doing RBAR; they'll start a transaction and loop through the result set. If that is the case, there's no point in you changing database settings, the code has to be changed (remove transaction from the app, and have the data retrieved via a stored procedure if possible).
Did you look at the deadlock material I posted in your other thread? The deadlock query that Wayne Sheffield wrote will provide the isolation level of the deadlocked elements. If you see it as Serializable, that's a very good indication that the app code/ORM is creating the transaction that's causing the deadlocks. Again, until the app side is corrected, you're wasting your time on the database side trying to fix deadlocks.