For question 2, you'll need to insert something that the bigIP can recognize to track user sessions between different pairs. I've done this with cookies, inserting one at the web tier to be read and removed at the app tier, and vice versa, inserted at the app tier and read and removed at the webtier. Mostly I did this for troubleshooting, as there really wasn't a long-term need for me to track sessions at the web tier, only at the app tier.
Yes, big-ip can read/write/insert/sanitize/replace/remove etc with cookies. Check out the HTTP::cookie wiki page:
http://devcentral.f5.com/wiki/default.aspx/iRules/HTTP__cookie.html
Click here
HTH...Jason