Can I have a workflow that keeps running for days or months?

Follow-up question: How long can a workflow be in running state?

Yes, you can have a workflow that continues to run for days/months.

As long as the timeouts on the tasks are set to handle long running workflows, it will stay in running state.