Yeah, people pickers are a bit of a bear that way. I think I'd probably add a field to the data source (doesn't have to be on the form canvas) that is invalid if the conditions are met. I'd add a little calculated value next to the people picker that is a red asterisk, and hide it if the conditions are met. Or, you could use a calculated value with text, like "You must select a person" or something - I mean, the issue with using a field the user doesn't have access to for validation is you don't want the poor user to get stuck. So you have to get a little fancy to make sure they KNOW what they need to do. :)
Glad you like the forum!