ClauseBase’s regular conjugation mechanism automatically switches “a” to “an” depending on the defined term (conceptlabel) that follows it. For example, if you have a concept (defined term) “contract”, then the output of “#-contract” would be “a contract” or “an agreement”, depending on the conceptlabel that was chosen.
However, in your case I suspect that this conjugation mechanism will not be useful, because you want the “a”/”an” to switch depending on the content of some text-based datafield that gets filled in by the end-user. For such situations, However, you can use a special function called @a-or-an.
For example, if you use
.... @a-or-an(#issuer^company-domicile) company ...
then the contents of the datafield #issuer^company-domicile will be preceded by “a” or “an”, depending on the content. E.g., if the end-user would happen to have entered “Illinois”, then the output would be “an Illinois company”, while if he/she would have entered “New York” it would be “a New York company”. The algorithm is actually quite clever and accounts for many different exceptions.