Sanford, thanks for your answer.
It seems this would be much complex than expected.
That is a little bit disappointing, because other similar systems support this feature in API, in addition to the fact that conceptually, it is not something extremely complex.
The complexity probably comes from the architecture and implementation limitations.
I agree, there's nothing theoretically amiss about checking a lead record's membership in a set at a point in time. But depending on the architecture, this kind of query can be very costly.
In Data Warehousing, this is called a "Fact Table" which is a table with all relevant events stored as booleans. So while you might have several conditions that make up the logic for an assigned lead, ultimately you want a True or False.
To replicate this in Marketo, create a static list called Assigned Leads. Have a smart campaign that adds them to the list and another that removes them. Then you can query the table to quickly determine how many assigned leads you have at any given time and whether or not a person is assigned.
This sounds like an interesting option.
The problem is that I wish to implement this feature for customers accounts, and I don't want to leave any unnecessary footprint on their accounts.
Just as well... you'd have to run such a batch campaign every day against the whole database (and it still wouldn't be guaranteed accurate at the time you query the list).
How many such lookups would you expect to make per day, by the way?
It's about few hundreds lookups per customer per day I guess.
So it needs to be fast.