6 execution plan screenshot correction (no significant changes in relation to question content, just to make it precise)
source | link
5 Removed EDIT see http://meta.stackexchange.com/a/127655
source | link

Update:

Adding UPDLOCK has no effect (X on object still observable after IX).

Update:

Adding UPDLOCK has no effect (X on object still observable after IX).

Adding UPDLOCK has no effect (X on object still observable after IX).

4 edited
source | link

So, it seems that forcing seek not necessarily guarantee granular locks (and deadlocks absence hence). I'm not confident, that having clustered index guarantee somethinggranular locking. Or does it?

The question about eligibility of placing X lock on object after IX still open. IfAnd if it is eligible. How can, is there something that one avoidcan do to prevent object locking?

So, it seems that forcing seek not necessarily guarantee deadlocks absence. I'm not confident, that having clustered index guarantee something. Or does it?

The question about eligibility of placing X lock on object after IX still open. If it is eligible. How can one avoid object locking?

So, it seems that forcing seek not necessarily guarantee granular locks (and deadlocks absence hence). I'm not confident, that having clustered index guarantee granular locking. Or does it?

The question about eligibility of placing X lock on object after IX still open. And if it is eligible, is there something that one can do to prevent object locking?

3 addition
source | link
2 addition
source | link
    Tweeted twitter.com/StackDBAs/status/915992624028426241
1
source | link