It is possible to add a critical notation during signature creation:
echo x | gpg --sign --sig-notation !firstname.lastname@example.org=node-1 > f.sig
But there is currently no way to mark the critical signature notation as "recognized" during signature verification.
That could be used to create signatures that will not be broadly found as valid but could be validated with software that understands these notations.
gpgme_op_verify will return summary GPGME_SIGSUM_RED and status GPG_ERR_BAD_SIGNATURE (with source GPGME) when a signature with critical notation is encountered.
The change would probably be additional argument to verify function that would mark the notation as recognized (either using the notation key and value or just the key).
An open question is what would happen if I mark a notation as recognized but the signature does not contain it.