Can a clustered index with low cardinality cause deadlocks?
One of the two locks is a page lock in the table (One process has
  update lock the other one wants Intent Exclusive lock)


This mean that the table is big enough so that the engine has decided to use page granularity locks in order to discover the rows to be updated. Then as it 'drills' in' to actually apply the update to the rows, the deadlock occurs because the two updates both located the row-to-update on the same page. You could force rowlock, or you could disable page locks on the table, but the real problem is that it looks like the WHERE clause of the UPDATE is non-sARG-able.