That is an interesting issue you have there, but not that uncommon.
Unfortunately, in TeamPulse, we don't have a very elegant way to handle it.
The best I could recommend is to create a separate TeamPulse project to hold just the common stories and then in the 3 working projects where they are implemented, create a copy of the story that captures your implementation of the common story and in that copy, place a hyperlink back to the common (or parent) story. These have to be hyperlinks and not story links since we don't support cross project story links yet.
As the parent story changes, I'd create new stories in the common stories project that capture the improvements. Don't just update the story that's already there since that story really should be Done. These new improvement stories would have a story link to the parent so you have some traceability and then as you implement these improvements in the other working projects, you'd create new stories in the 3 working projects with hyperlinks back to the parent, much like you did with the original work.
The key is not to have a single story that you continue to expand upon, but to have a series of stories that individually track improvements. That way you can track the progress of each improvement as it is implemented.
Hope this helps.
All the best,
TeamPulse Product Owner