Is 24-48 hours marinade too long for a tough piece of meat?
Such as a beef roast or pork butt?
Are there any ingredients that would fair well to a long marinade? And any to avoid?
No, I don't think it's too long.
Just about any ingredients work for a long marinade. Just know that acids (lemon juice, vinegar...) start the surface cooking (not necessarily a problem) and some enzymes (found in papaya, asian pears, kiwis, pineapple....) start chewing the surface protein (not necessarily a problem if you don't mind affecting the texture).
I used to work at an Austrian restaurant that specialized in Tyrolean cuisine. We marinated our sauerbraten for 3-5 days and it certainly didn't suffer from it.
That was the first restaurant that really opened my eyes as to what a chef truly is. The food was amazing and changed my life. I actually was able to track the chef down about 10 years later, as I was preparing to open my own restaurant, and thank him. It made both our days!
The true purpose of a marinade is to add flavour.
In regards to making a tough piece of meat into a tender juicy one with just the addition of a magical ingredient...
It ain't gonna happen.
Scam artists have been trying to turn lead into gold for centuries now, but it ain't gonna happen.
Papaya, acids, and other "tenderizers" kinda/sorta work, but they turn the meat to mush.
You want a tender, juicy roast?
Here's the secret:
Start off with a prime piece of meat, look for marbeling--thin veins of fat interspaced in the meat. When you roast, the fat melts, keeping the meat from drying out, but more importantly, when the fat melts out, there are minute "holes" in the meat, muscle fibers are shorter, and you don't get long, hard, dense sections of meat. Marbeling also signifies a better cut of meat, the more marbeling, the better quality. For this, you have to go to an indie butcher, you won't find it on special at a big box supermarket.