Is there a good minimum time to recommend for the time to marinade meat? Or is it always best to eave overnight if you want good results?
Do citric juices such as lime or vinegar reduce this time?
It depends on the meat and how it's cut. A 'solid' uncut piece like a pork loin will take longer to marinade properly than if it was cut into thin strips for stir frying, for example - I'd want to marinade the former at least 7-8 hours, while the latter could probably get away with 1.
A marinade has two functions, firstly to infuse flavour and secondly to break down the muscles fibres ad connective tissue in tougher cuts, this not only makes them less tough but also helps to bring out the extra flavour that these cuts have compared to the 'premium' ones.
For something like a slow cooked stew marinade and cooking times are somewhat interchangeable, especially if you are cooking in the marinade. But for something that you want to quickly grill or fry then 24-48 hours is ideal but at least a couple of hours is the minimum.