It makes sense to have your packages, triggers, views etc. in a runOnChange changeset since that works much nicer with SVN's diff and history. For tracking history on a view definition back to a sprint, I tend to rely on SVN's history and/or the updateSQL functionality vs. managing it through changelog creation, but I do also tend to create new changelog per release version and don't usually have a lot of package/view/trigger definitions so most of my changes tend to be in the release-version changelog.
Let me re-describe what you are wanting so I make sure I understand it:
You want to be able to create a changelog per sprint and when you want to modify a procedure/trigger/view etc. what you want to do is edit the existing definition file and then add a reference to it (include or sqlFile) from the sprint changelog. That way when you look at your sprint changelog you know everything that will change. If a package/procedure/view file is referenced from the chagneLog you want to re-run it regardless of if it has ran before?
Does that sound about right?
Would it work to have the view/trigger/package definition in a file that you point to with sqlFile and then use the runAlways="true" flag?
Nathan
Nathan