You can achieve this using Sessions over a Service Bus Queue. From a sender perspective you can add a string SessionId property on each message and designate which session they belong to. On the receiver side you call AcceptMessageSession and essentially lock the entire session. Any messages that show up for that session later will only be delivered to the receiver that has the session locked by them calling Receive. Other clients can also be calling AcceptMessageSession on the queue but say if all messages were going to a single session (all had that same sessionid) then only one of the receiver would see it. A samples using sessions is available here: http://code.msdn.microsoft.com/windowsazure/Brokered-Messaging-Session-41c43fb4
The scenario you are describing is not clear as to the purpose so do look into Azure storage Blob lease etc. as they may solve the same locking semantics you need.