I'm afraid you can't use logic in a blockchain to prevent some data being read more than a certain number of times, because as soon as a node reads it, it can store its own local copy.
However you can use regular encryption techniques to ensure that only certain nodes can read the data, because only those nodes have the decryption key.