The page itself has very few properties you can play with. If you don't use the ID (which I agree that it's not very pretty to hard-code), what are you going to use? Perhaps the page's title? Or use a magic keyword? Still it's a bit ugly. So I would say
if the ID works, use it.
If you want to go for the title for instance, you're going to have to do something like this in your theme's masterpage:
var id = Guid.Parse(Request.QueryString["id"]);
var page = BlogEngine.Core.Page.GetPage(id);
mySpecialPanel.Visible = page.Title == "My Page";
I'm writing the code off the top of my head and if I remember correctly you're going to have to load the page again because it's not accessible from the master page (that's not expensive though thanks to caching).