Generally, a buy order and a sell order are compatible if the maximum price of the buy order matches or exceeds the minimum price of the sell order.
In your example, the maximum buy price is $100, and the minimum sell price is $120, and $100 is less than $120, so there is no matching. If Bob submits a buy order for $100, then a price less than that would be compatible, but a higher price is not (if you tell someone that you want them to buy something for $100 on your behalf, and they come back and say "I bought it for $90 instead", you'll be happy, but if they come back and say that they agreed to a price of $110, when you only authorized $100, you won't be). Similarly, Sue won't be happy unless the shares sell for at least $120. It's not possible for a price to be less than or equal to $100, and greater than or equal to $120.
So to make your question work, we would have to modify it, such as swapping buy and sell. A further modification is that we need to be more specific than merely saying that people "want" to buy/sell at a particular price. People can "want" all they want, but if that's all they do, then nothing happens. For a trade to take place, there must be a quote and an order. A quote is when someone announces that they are committing to buying (bid) or selling (ask) at a particular price. An order is when someone says that they will accept a quote at least/ at most a particular amount. If Bill submits an ask of $100, and Sue and Sarah submit orders, then whichever order is submitted first will be filled (and the price would be $100 either way). If Sue and Sarah both submit bids, and Bob submits an order, then the order will be filled with the bid farthest from his price, in this case Sarah (and so the transaction would be at $130).
If Sue and Sarah had submitted bids with the same price, there are two main ways a market would decide between them. There's FIFO, where the earliest bid is prioritized. The other method is pro-rata, in which Bob's order is partially filled by Sue's bid, and partially filled with Sarah's.
Under a basic FIFO algorithm, or price-time-priority algorithm, the earliest active buy order at the highest price takes priority over any subsequent order at that price, which in turn takes priority over any active buy order at a lower price.
Under a basic pro-rata algorithm, the system prioritizes active orders at a particular price proportional to the relative size of each order.