We have both these setup in our restaurant.
2 for 1 - I set this up as a Gift reason as your cant settle tickets with zero price items therefore if you setup a 100% discount tag you cant settle ticket.
50% off - I setup a price definition and price list for this and created a rule to swap price definition if a certain sub- tagis selected. You can use a discount tag but I found the price definition more useful when looking back at the ticket.
I can send you some instructions if you require them.