Whenever you have competing DML running against the same data, you run the risk of a deadlock. This issue it not simply a database configuration problem. If the first two recommendations do not work below then the third option is to tune the application and possibly reschedule updates to run in a batch job in the evenings.
Recommendation:
Modify INITRANS on the affected tables - The INITTRANS setting controls Initial Transaction Slots (ITLs). A transaction slot is required for any session that needs to modify a block in an object. For tables INITRANS defaults to 1 for indexes, 2. If different processes that are accessing the same records could be run concurrently it will also be necessary to increase the INITRANS setting accordingly.
Other options to consider if INITRANS does not resolve the issue: Use smaller blocks with less data - Since the deadlock contention is at the block-level, consider moving these tables and indexes to a super-small blocksize (create a db2k_cache_size), and using a high PCTFREE to space-out the data over MORE blocks.
Tune the application and re-scheduling batch update jobs to low-update times an also help. Some deadlocks are due to user error in the design of an application or from issuing incorrect ad-hoc SQL.