In a limit book like NASDAQ ITCH, can liquidity suppliers know the demand-side identity of a trader prior or after a trade? Knowing this will help me with my theoretical model that I am trying to develop since I am wondering whether a liquidity supplier that observes say a trade of 90 shares that takes away liquidity up to three ticks (30 shares per tick - block shape book) can distinguished whether the trade came from one individual or three individuals who submitted trades at each tick.
ITCH does not disseminate any identifiers for the buy-side. They have a match number (used to correct or break trades) and a reference number (for displayed liquidity) and that's it. No other identifying features are present.
I was able to identify significant participants by order size on CME exchange. I think ITCH is even more informative that CME's data format. The trick is to learn very closely the incremental data and the order in which this data arrives. We can assume that exchange's Matching Engine and its market data distribution algorithm are programmed machines, therefore always process similar cases in exactly the same way.
For example, a large aggressor order is being executed. First, you receive all the matched executions. Then you receive order book updates, caused by this executions (In fact, knowing the matching algorithm, you can predict the book updates!). Even if there is another aggressor order waiting, its executions will not be transmitted until the previous order book updates are completed. Of cause, you need to validate this with timestamps as said above.
But there are much more special cases, which I can't describe here. For example, the order may be only partially executed until reaches its limit price. It can still be detected.
Such investigation can be applied on both aggressor orders and passive limit orders activity. Below is such an example on one day of ES future. For example, there are 11285 events of BUY 46, and just ~200 events of BUY 47. Which makes it reasonable to assume that most of orders of size 46 belong to the same trader. Some traders attempt to "hide" their activity by random distribution (between 100 and 120 in this example). Also as expected there are peaks on round sizes 100, 200, ...
After detecting distinguishing peaks of order size, you can separate certain trader to watch its behavior. The second image illustrates the activity of trader who uses order size 46. We can see its behavior before news release. It's also possible to detect his location using response time to price changes. This trader's machine is located in Europe because its response time is about 100 ms.
Regarding the second part of your question, - if you have relatively precise timestamps, you can use those to distinguish the cases you're interested. E.g. if one party took all three levels, the timestamps will be very close, or identical.
AFAIK Nasdaq OMX is one of the few (if not the only) exchange which provides buyer / seller ID on equity trades:
Trade information (latest paid price, trade volume, buyer/seller ID where available) http://www.nasdaqomx.com/digitalAssets/66/66627_nasdaq_omx_nordic_market_data_offering.pdf
TRADE MESSAGE (NON-CROSS)
Name Offset Length Value Notes
Participant ID, buyer 45 4 Alphabetic
Participant ID, seller 49 4 Alphabetic