Unfortunately there's no good way to do this that I can think of. HTML doesn't really have the concept of "multiple select but not too many at the same time" - sorry!
I guess you have to ask people to pick their favourite three and hope that they behave!?
Joe