Jon,
I'm not sure this is going to be possible.
The jetty:run-war goal will fork a parallel build execution to make sure that the war is built (ie the mojo has @execute phase="package"). The substitution of the ${buildNumber} within the pom occurs for that forked execution. It does not appear to be substituted for the execution that is running the jetty-maven-plugin (assuming it would be calculated the same way a second run). Not sure why that is, but certainly if I modify the jetty-maven-plugin to print out all of the properties known by the MavenProject representing its execution, the buildNumber is not present. However, it is present on the properties represented by the forked MavenProject. May be something to ask the buildnumber-maven-plugin project about?
BTW I even tried changing your example a little by setting: <finalName>${project.artifactId}-${buildNumber}</finalName>
That means you can remove the <warName> from the maven-war-plugin setting. I was hoping that it would also set the <finalName> value of the execution for the jetty-maven-plugin, but no such luck.
cheers Jan