Well, there is no need to reinvent the wheel, there are probably THOUSANDS of templating projects out there that might fit your needs (look at Sourceforge first), but yea, you got the basic idea.
I have done pages where the 'index' page is basically a collection of include statements, one of which is variable:
include_once ($page);
Then you can pass the page you want to it with the GET method you mentioned.
BTW - it is a GOOD idea to validate that variable before you process it...:p