When you use a datasource microflow for your dropdown, the selection is limited to the list the microflow returns. You should be able to remove everything from the returned list that is not supposed to be selectable in your microflow. You can do that directly in an xpath retrieve or you can remove the objects from the list by using some other custom logic within the microflow.
To your second question: A dropdown is usually used for one selection. This can be setting an enum or setting an association. If you need multiple dropdowns, there must be a reason for that. So if this reason is valid, multiple associations do make sense. If you need multiple dropdowns to be able to associate multiple objects, a many to many association and a select page may are what you are looking for.