'rapidly expanding list of features'
This is one of two things:
1) If the features are really fine-grained details of larger requirements, then it sounds to me like insufficient planning, particularly the requirements analysis part. Capturing what the customer wants in the final deliverable is a long process of eliciting all the specific details that the customer wants. Once you've got all those details, you need to look through the impact of each, dependencies, risks, available resources to do the work, etc, and gauge the costs of the implementation. Once you have the costs (time or $$$'s), you can present these figures to the stakeholders to ensure they understand the costs and timescales they're about to commit to.
2) If you've definitely gone to this level of detail for all the tasks in your project, your project has already started and your timescales are ballooning, maybe the issue is that you need a change management process, so that the is dealt with formally and the impact on the timescale spelled out to the stakeholders. For every new feature that gets added, what not-done-yet feature gets removed? Have you considered switching to an iterative project management methodology?