If you can use a lookup - use a lookup. Remember, you don't need an actual table for a lookup - your query could simply be a bunch of select statements unioned together:
[font="Courier New"]SELECT 1 AS MyVal, 'Test' AS MyDesc
UNION ALL SELECT 2 AS MyVal, 'Test2' AS MyDesc[/font]
Having a table is nice because you would not have to open the package to add a new case value.
Now, your new example is still possible with a lookup because you can join on two fields (MyInput and Myinput02) to get your value. Where you would have trouble with a lookup is when you have something like:
[font="Courier New"]CASE
WHEN MyInput="1" THEN "A"
WHEN MySecondInput="1" THEN "B"
WHEN MyInput="2" AND MyColor="Red" THEN "C"
ELSE "F"
END[/font]
In these situations, you can get into something that needs to be hard-coded into your package.
Typically, I would recommend going to a script component - especially if the number of CASE items is pretty high. I can see some benefit to using a CONDITIONAL SPLIT - mostly because it puts the logic clearly in the data flow so it is really easy to follow.