Hi. MLO does not currently have the ability that you seek, although there are a couple of things that come close. As Olivier noted, this has been requested before but there's no sign that it has yet caught the attention of the developers. By proposing it in this user forum you have the attention of other users but not necessarily the developers. The most effective way to get the developers attention is to make the request on
mlo.uservoice.com and then use this forum to get a lot of users to vote for your proposal on uservoice. This is a slow process so don't hold your breath.
The two features that come close are:
task links. select a task and bring up the task notes display (in the right hand panel. If task properties are displayed click on the word "Properties" to maximize task notes). Right-click in the notes display to bring up a context menu and select "insert link to task". From the popup window, select the task whose URL you want to insert and click "OK" (Joel, doel this answer your question?)
The URL that gets inserted will let you link from one task to another within MLO. It does not work from other programs so far as i can tell. There's probably something missing in the system registry to tell Windows that "mlo:" is a resource indicator handled by mylifeorganized.exe - if you are at all into hacking windows you could try to make this change yourself.
Drawbacks: this link does not do anything unless you open the task that contains it, and then click on it. In your example if you buy L for project 3 and later you get to the "buy L" task in project 2, unless you open the task, notice the link in the notes section, and click on it, you will not know it was linked.''
The other feature is "dependencies". You could remove "buy L" from the second project and edit "Make M" in the second project to have a dependency on "Buy L" in the third project. Or, if you don't actually need L to make M, you only need it when you get to making LMNO, then you would edit "Make LMNO" and make it dependent on "Buy L" in the third project. That way, if you get to the point in the second project where you need L, it will wait for you to buy L and mark it complete in the third project, then proceed.
This is less than ideal for you because you have to guess that project 3 will get to "Buy L" before project 2. If not, project 3 will get suspended and nothing will show up in your to-do list or next-action list until project 3 gets to that point. However, if you guess right about which project will get here first this will do the job, and if you guess wrong it's easy to discover what happened: the next task in project 2 will be inactive, and if you look at the task status information it will show you that it's waiting for "buy L".
I hope that this description is clear for you - if it's confusing please ask a question and I will try to explain it more clearly.
-Dwight