The isolation level only applies to the data (or node) inside the same cache instance.
I am implementing a queue that is part of the tree cache. Each request will come in and pick the next available work from the queue, and remove that work item from the queue. The queue is shared across the cluster via the tree cache. If the transaction locking is only limited to the tree on which the txn (in this case, read and remove) occurs, then will I not have a problem with multiple requests on different servers picking up the same item (when one server has picked an item, and then removes it, but another server comes in before the txn is completed and the remove is replicated)? Do you have any suggestions on how to handle this scenario?
If your txn spans across multiple read and remove, then you should be ok. The worst case is when it commits, it will fail on the other node (or timeout) and the work will be rolled back.
Remember cache is used for read mostly operations. So in theory, this scenario should not occur that often.