Hi gsr,
1. While the workflow is waiting it's not using server processing power, as I understand it the workflow is saved and woken up again when the item has been updated.
2. There's no time limit at which the workflow will give up, if for example the workflow is waiting for field1 to have a value of 10 and the field never has the value of 10 the workflow will wait forever.
The likely problem with a workflow that could run for months without ending would mean that if you start a workflow and then a month later your business process changes and you update and republish the workflow the workflows that are still running would now be based on old business logic.
Regards
Rob