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.