One limitation of PMPro is that a user can only have one membership level at a time. We don't have an "a la cart" solution yet.
However, you could get this done by having 3 levels:
XYZ Level at say $15, ABC Level at say $15, and Everything Level at $30
So users would be in any one of those levels. To simulate the a la cart solution, you can add code to your functions.php that will make the Everything Level only $15 if you already have an existing level. (use the pmpro_checkout_level filter to adjust the level object at checkout)
Now you would also need to add code to manage the access to the bbPress forums. I haven't done this with the latest release of bbPress, but we did it with earlier versions of BuddyPress/bbPress on our site at http://www.paidmembershipspro.com. We use the pmpro_after_change_membership_level to add/remove users from the forums when their membership level changes.
If you sign up for support at PaidMembershipsPro.com, I can provide the code you would use in your functions.php and walk you through this some more.
So I'd say go for it if the 3 membership level solution outlined above will work for you.