1st answer: i have found that visiting a town that sells a particular item like a ore that another general needs, they will obtain it. by this i mean if one of your generals pops up and asks for an item and if we have time to obtain some, say sure and then start visiting towns til that general asks if we have time to engage in some fights outside of town. thats what i do and they seem to stop asking after that. you do not have to purchase these items yourself, just wisit the town/area its available in.
2nd answer: It's true that they buy components in the towns when they have enough money. However, the other thing you pointed out about the "let's go fighting" dialogue is completely unrelated - it just means they recently had a weapon upgrade (which happens if they have enough components and you visit the town). The "i need this component" dialogue is just a reminder for you, it has no actual impact if you say yes or no to them as far as I can tell (I always say yes anyway). Also to answer the original question: Just harvest the items they need, they will take them automatically even though there is no indicator popping up like on normal monster loot. The same holds true for components that are only obtainable via monster split, again no pop up but they will take it. Just look in their inventory and check if the item count still increases after harvesting, if it doesn't they have enough of it. In most cases 4-8 components will do, there are only rare cases where you need 10-14. Playing PC version, just to avoid misunderstandings because they differ somewhat.