Are 2 nights and 2 full days enough for Porto including Douro Valley cruise?
The Douro Valley cruise is an entire day. If you do a tour out of Porto you leave at 8:30 am and return at 6:30 pm. The boat ride is 7 hours to Pinhao and you return by bus (2 hours). The cost is around E85 pp. Or a slightly shorter one to Regua leaving at 10:30 returning at 6:30 costing around E72 pp. With one day in Porto you can get a general look at the town but 2 days would be much better.
Just got back from Portugal and had 3 nights and 2.5 days in Porto. Based on advice here, we skipped Douro Valley and found we were able to use all our waking hours effectively just in Porto.
I should add we live in Northern California and have been to all the wine regions nearby so this was an easier decision for us than it might be for others