Is there a way to encrypt data/document with multiple keys, but every key is only allowed to read/decrypt only a certain part of the document and not the whole document? The document cannot be sub divided into multiple smaller documents for various users.
Encrypt the data using data-specific keys. Then you can use any kind of secret sharing techniques to derive keys, which can in turn be used to wrap / unwrap (that is: to encrypt / decrypt or envelope) the data keys. You could even mix in asymmetric primitives such as RSA to encrypt the data keys.
You may need to use some kind of format to indicate which keys should be used for which sections of the document. Or you could use a pre-existing container format such as CMS as part of your protocol.