Welcome to WebmasterWorld Guest from 188.8.131.52
<added>BTW, welcome to WebmasterWorld! :) </added>
Spent a few hours on this last night. Dave's suggestion worked, but with an external redirect (needed in this scenario) the page was returned with a 302 http status code. I couldn't find a way of changing this to the needed 200 OK code - sending a header using PHP didn't seem to work. If anyone knows a way round this, I'd love to know.
I've compromised on a 404 error trap, most often used on database sites to alter dynamic URLs. I seem to be able to rewrite the http code from 404 to 200 with no problem using this technique.
Both shortpage1.html and longpage1.html are sent to the custom 404 page, which will resolve the same content for both. The only difference is a robots metatag added to the page if shortpage1.html is used to prevent the spidering of duplicate pages if a link to shortpage1.html ever got out into the wild.
This isn't an answer to my initial question, but solves a few of the problems which prompted me to ask it in the first place.