In a Scrum or Agile team is it advisable for a Product Owner to be involved in more than one product?
First of all you have to understand that you won't have an objective answer to this in Scrum. You will have to inspect and adapt. Nowhere in the Scrum Guide (written by the inventors of Scrum) is it mentioned that a PO should not handle more than 2 products but they do mention that for the PO to succeed (s)he has to take full responsibility of the Product, and the organisation has to respect the POs decision.The PO is a "pig" of the Product Backlog, be it for 1 or 2 or more products, if the PO and the Stakeholders can handle this I would say try it, and inspect and adapt. And there are various factors also like how complex the products are, and how speacialised the Product Owner is in them and how much bandwidth the PO has to do the PO duties for more than one product. Please take all of them into consideration before trying it.
Is it good to have a Product Owner for the Enterprise System and "sub" Product Owners for the components of that system? i.e. In a Retailer would you have a PO for the enterprise system that drives "sub" PO's for say Retail, Supply Chain and Manufacturing?
Again you will have to try it in your organisation to know if it is "good". Just follow the right Scrum guidelines when appointing the POs or sub POs. I tried it in my organisation and it worked wonders! We had a Chief PO, and several other POs who you may call sub POs but I prefer keeping everyone on the same level to avoid command and control behavior which when misused can ruin a project. The Chief POs job would be to make sure the POs are successfull in what they do, and also help the POs out when needed. Also appointing POs could be done by Chief PO along with a chief SM or SM. If I may digress a little, the same structure was followed with SMs. The Chief SMs job would be to help the SMs succeed at doing their job, for example if an SM cannot resolve an impediment he or she could have the Chief SM come in to the picture to help resolve it.
Be interested in how others deal with Scrum teams in an enterprise environment with many stakeholders in functional silos.
Like I already mentioned above. We had a chief PO, and several other POs in our enterprise environment. There was also a steering committee which included stakeholders. Each PO had their own product backlog to manage. We had 2 week Sprints. Twice a month we had a meeting called the 'Steering Committee Meeting" where all stakeholders and Chief PO and POs met, and steered the Enterprise product in the right direction, and the each of the POs translated the work in Scrum terms (potentially shippable user stories) for each of their products, the Chief PO had a crucial role of educating and protecting the POs from the Stakeholders and members who had little knowledge of the Scrum Framework. They protected the POs from being hijacked. Each PO had an own Scrum Team with a SM and team members. I would suggest have the chief PO be an Agile coach with a good hold high up in the organisation. Also have the POs collocated, it helps especially in resolving cross team dependencies and issues.
Note: One thing that had not worked for us was 2 POs for one team with one product backlog, there were just too many conflicts between the POs!
Hope this helps.