I am going to answer your scenarios, but feel free to ask more questions relating to my answers and I will answer them as best as possible.
1.) For your knitting blog, AdSense will take the strongest keywords -- that is, the keywords that appear to be most prevalent on the page and are prevalent in Google's database of available ads. However mixing content like this, while not necessarily underhanded isn't the best tactic when it comes to SEO. Furthermore, you have a high chance of diluting high paying keywords with low paying keywords.
Also, if you are getting search engine traffic from people looking for information about knitting, they would be more likely to click an ad related to knitting than an ad about forex.
Your best bet would be to target the two different audiences with two separate sites. From an SEO standpoint, I'm sure forex is a saturated market in the search engines, but there are probably many longtail keywords you could go for. This is likely a concern for you as it sounds like you're looking for a way to get those high paying keywords without having to do the difficult task of ranking against PR5s, 6s, and 7s in the search engines.
2.) If someone comes to your page looking for knitting stuff from a search result like, "How to Knit" chances are they will be served an ad related to knitting. While ads shown are highly based on your content, ads also highly relate to the keyword a person used to find your site.
Also, think about your audience. If you write a great site about knitting, people may link to you and come back. If they come to your site and see a bunch of stuff about forex, they may quickly leave without viewing any further content as they can see right away that the website isn't related to their search.
I hope this helps.