Why is "plaid" pronounced "plad"?
Solution 1:
Because it's not English — it's from the Gaelic word for blanket.
According to Gaelic pronunciation, "ai" in old Irish is a short 'a' as in gather.
Solution 2:
Just like to point out two things:
Plaid comes from Scottish Gaelic:
1505–15; < Scots Gaelic plaide blanket, plaid
According to the site that @Martin Beckett provided, Scottish Gaelic pronounces "ai", as short a
.