There exist languages other than php, but they're not any easier. If any of your content is dynamic-- "created through tables" as you put it-- it has to be done in some language. It can't be static html. Unless, er, you want to code several hundred html pages to cover all possible permutations of requests ;)
Any URL can be bookmarked, including parameters (the part after the ? question mark).
Since you're doing all this from scratch, now is also the time to work out what you want your URLs to look like. They don't have to have the conventional boring form
just because those are the parameters. You definitely don't need or want "index.php" in there. But beyond that, you can go to something like
and then behind the scenes you rewrite according to a pattern, like
widget(\d+)/foobar(\d+) >> /index.php?id=$1&page=$7
(Note that you cannot have two different parameters with the same name. I don't know if the duplicate "id=" in your post was a typo.)
Once you've figured out exactly what you want to do, you can then start working out the php. You can't simply copy and paste some generic code. But it isn't hard to get started-- especially since a lot of the page can be perfectly normal, static html. I don't generally approve of the "If I can do it, anyone can" argument. But honestly, if I can make php pages, 98% of the people reading WebmasterWorld forums can do it :)