An old post, but if anyone is still interested:
I found allthough something like <% if Top.SomeSetting = SomeValue %> will generate a parsing error, simple checking on true or false <% if Top.SomeSetting %> seems to work allright, meaning you could check on some Top setting from within a control structure and retrieve a sub property (in 2.4.5):
// in the Page_Controler
function isTheRightPage() {
return ($this->Title == 'SomeTitle')? true: false;
}
<% control MyObjects %>
<% if Top.isTheRightPage %>
<!-- do something with the object based on the page title %>
<% end_if %>
<% end_control %>