For AXI we are using AWSIZE(unaligned address = AWADDR % 2**AWSIZE). So for APB which size should we use to calculate unaligned address.
I want know if it is possible to use pstrb = "0101", "1010" or "1001"
Yes, you can.
You might use these PSTRB values if you only wanted to update 2 of the 4 bytes in a register. This would save having to perform a read/modify/write sequence needed to preserve the bytes you are not updating.