If you haven't already, read the e46 wiki carefully (link at the top of page). It's a great resource. VANOS is BMW's variable valve timing system. The DISA valve is a device that controls air flow in the engine. Perhaps Bluebee can weigh in with some specific info on what the DISA does if you're interested, but the point is that they are completely different things. What I know about the DISA is that there is a plastic pin in the center of the butterfly valve that can get brittle and crack over time, causing the butterfly valve to flop around. This is what caused my car to throw P0174 and P0171 codes. Fortunately, the DISA is easy to replace. Unfortunately, the part is about $200.
So, I'd say your plan should be to go down the list of common "running lean" culprits. Start with your intake boots -- might as well just replace them anyway if they are original. Next, buy a bottle of Techron injector cleaner, and try that, or give it the old "Italian tune-up," as I heard it once called here -- take your car for a spirited drive, occasional high revs being the key, to try and clean the junk out. (These cars should be driven hard once in a while, it's good for them.) While your intake boots are off, carefully remove and inspect your DISA valve -- see if the butterfly valve is flopping around, if so, replace it. While all that's out, get a flashlight and little mirror, and check your oil separator -- if there's oil all over it, replace it. Check the hoses running to that, they become very brittle over time and can develop cracks, leading to vacuum leaks or oil leaks. The CCV is a pretty tough job, but it's a worthwhile DIY, and it is an extremely common failure point on our cars. In fact, if you're doing your intake boots and DISA, you might as well replace your CCV while you're at it if it's never been replaced before. The oil separator is about $50, and the four hoses of the apocalypse are about $15 each online. Also clean your MAF, throttle body, and idle control valve while you're at it. There are DIYs online for all these jobs -- it's good call to avoid paying someone for this, they'll charge you an arm and a leg for most of this work.
It's also worthwhile to buy a code reader while you're at it (I just use a cheap Autozone OBDII reader) to clear your codes and take it for a test drive to see if any codes come back.