No it's not mandatory to make product request each time when application launches.
It just depends on application requirement.Suppose in Your Application First Screen is Something Like The Store SCreen Where You display the Item To be sold. In that case You should make the Product request to the Itunes Store So that You can display The Most updated Information Corresponding to Products each time when application launches.
Suppose If in your Application you display The Products List on clicking of some Store Button(Say any Button on clicking you load Store Content). then in that case you should make the Product request at that Time and display these product on screen. And As clicking on any one of them(product) you can pass that SKProduct to the SKPaymentQueue.And In that case no need to make The Product request to the Itunes Store each time when application launches.
So here I Would Say You Firstly Need To think About Your Application requirement.
I hope It may help you.