I'll try to get to all your questions. If I missed something let me know!
Regarding status, the monitor status is the current state that the monitoring system for that pool member is in. It will basically tell you if a monitor is active and if so whether the pool member has been marked up or down by that monitor.
There is another kind of state and that is what you see in the GUI for the State
Enabled (All traffic allowed)
Disabled (Only persistent or active connections allowed)
Forced Offline (Only active connections allowed)
I've talked about this three way toggle state and the iControl methods needed to set the pool member to one of these three in this post:
http://devcentral.f5.com/Default.aspx?tabid=53&forumid=1&tpage=1&view=topic&postid=86048605
Click here
In your case, if you want to query the state of a pool member, I'd look at the get_object_status() method which returns the Availability and Enabled status values. The Availability determines whether new connections can be made and the Enabled status ties in to the value of the monitor status.
In this tech tip I illustrated how to query status and gracefully take down a pool member by disabling current connections, waiting until the current connections went to zero, and then disabling.
http://devcentral.f5.com/Default.aspx?tabid=63&articleType=ArticleView&articleId=254
Click here
With regards to your other post on specifying particular pool members, at this point there are not any methods that you pass in a pool and a single pool member to query just that pool members status. You'll have to iterate through the returned list until you find the match you want.
Let me know if this makes sense or not and if so, what exactly you want to do and I'll list out the iControl methods to make.
-Joe