So the view key allows you to see all past and future incoming transfers for the corresponding address. Are you able to read a payment id belonging to a transfer if one was set? Is the answer the same for integrated addresses?
Anyone without the view key can see the 'long' payment ID (64-char hex string). Here's an example:
Note that it is highly discouraged to reuse the same long payment ID in multiple transactions because those transactions are easily linked. Here's a search result of the long payment ID in the above transaction:
(This unfortunate situation is somewhat inevitable at the moment since some exchanges still support long payment IDs only.)
On the other hand, the 'short' payment ID (16-char hex string) included in the integrated address is encrypted using the ECDH shared secret between the sender and the receiver (
rA=aR in the whitepaper). Here's an example:
The short payment ID can be decrypted only by those having the view key. Thanks to encryption, it is totally safe to reuse the same integrated address in multiple transactions.
So the answer is yes: anyone can read long payment IDs which are unencrypted, and those having the respective view key can decrypt and read short payment IDs.