The question was answered to by direct interaction.

To resume:

If the second approach is feasible (i.e. the list of prices can be determined at page initialization and it is not expected to change during the page life),
then that approach is to be preferred, as it is more efficent.
Just note that you should setup one OverwriteTable (not MetapushTable) for each price, or a single OverwriteTable which subscribes to all prices in a single group.

Otherwise, using a single MetapushTable or DynaMetapushTable and a COMMAND mode price-list item for each client, as in the first approach, may be easier.
The problem is that if a price belongs to multiple price-lists, the Data Adapter must send each update for all the currently subscribed price-list items.

However, as announced in last July 2008 newsletter, the next minor upgrade of Lightstreamer will provide full "two level push" support, through the new MultiMetapushTables. They would still require price-list items in COMMAND mode, but price details would be acquired through separate price related items (as in the second approach). The page would only need to configure a single MultiMetapushTable (as in the first approach).