Will a transaction with 0 fees and spent outputs eventually be included in a block?
Possibly, but not necessarily.
There is a possibility that the unconfirmed transaction with 0 fees might get dropped from the memory pool of the peers, and that the person that sent that transaction could re-spend that output elsewhere. If that happens, and the new transaction gets confirmed, then the entire chain of transactions after the 0 fee transaction will all become invalid and cease to exist.
EDIT:
You should contact the person or business that sent you the transaction and inform them that you are not interested in transacting with them any more until they switch to a wallet that does not spend unconfirmed outputs.