Sorry for not replying sooner - I've had a busy week and not been able to do much work on my voluntary projects.
At the moment, FluentValidation doesn't really support what you're after. The idea for FluentValidation is to define rules for properties, so your approach for defining a rule against a surrogate property (in this case, the ID) is what I'd suggest. You can also use the Custom method, but I'm not particularly fond of this approach.
This is something that I'll investigate further for a future release. Do you have a proposal for the sort of syntax you'd like to see for model-level rules?
Jeremy