It sounds like you're asking two separate questions.
One question concerns workflow and the other concerns using ESS.
As I use StatET and Eclipse, I'll just share my experience regarding the workflow aspect of your question.
As with Vincent I also follow something like the workflow set out by Josh Reich here (also see Hadley's useful comments):
http://stackoverflow.com/questions/1429907/workflow-for-statistical-analysis-and-report-writing
Although it can vary between projects, I tend to have a couple of main R files
- import.R: this imports data files and does any necessary cleaning and manipulation
- analyse.R: This generates the output that I need for any final report
- main.R: This calls import.R and analyse.R
The aim is for import.R and analyse.R to represent the complete and final workflow for producing the final results of any analyses.
In terms of a directory structure for an analysis project, I'll often also have the following folders
- data: for storing any raw data files
- meta: for storing meta data, such as variable labels, scoring systems for tests, recoding information, etc.
- output: for storing any graphics, tables, or text generated by my analyses that I might want to incorporate into an external program
- temp: When exploring the data and brainstorming analyses, I like to type code into files instead of using the console. I tend to label these temp1.R, temp2.R, temp3.R. I store these in a temp folder. That way I have a permanent record that's easily accessible. If the analyses become final they get incorporated into one of the main R files (i.e., import.R or analysis.R)
- functions: If I think that a function will be needed across a couple of projects, I often place it one function per file or a set of related functions in a file in a folder called functions. This makes it relatively easy to reuse functions across projects, when the formal requirements of package development are more than needed.
- library: If I want to create some general functions that I think will be project specific, I'll place them in this folder
- save: A folder to store any saved R objects
StatET and Eclipse make it easy to interact with such a file system.
Of course, given all the R gurus that use ESS and Emacs, I'm sure it also handles interactions with the file system well.