There isn’t any direct way to search only in the “to” field - I other words you will not be able to distinguish between emails sent to you and those copied to you. This is one of a number of shortcomings in the design of the smart mailbox system.
There is an “account” attribute which is searchable - and it only allows you to choose mail which is in a given account. It has no “not in” option.
Note that moving mail into different mailboxes may change its account. For example, I have a private mail server that is one of my mail accounts. When mail arrives it belongs to that account. However, because of space limitations in the mail server, I use mail rules to move arriving mail into a folder tree in iCloud, at which point the message becomes part of the iCloud account.
There are a number of limitations to the logic one can describe in the definition of a smart mailboxes, which can be quite frustrating, but many of them can be bypassed by defining additional smart mailboxes to express sub-sections of the logic. For example, there is no direct way of expressing (A and (B or C)). if I need to do that then I will create a secondary smart mailbox to evaluate (B or C) (called, for the sake of this argument “b or c”), so that I can then set up my intended smart mailbox with conditions (A and (in mailbox “b or c”))
I hope that makes sense - I can provide some concrete examples if necessary. …