No, not really.

Lets get back to what you have:

PHP Code:
$options = array( array( 'page' => FILENAME_REVIEWS'box' => BOX_CATALOG_REVIEWS), 
Basically, you the pass the 'page' into this function page_allowed

Now, what if you accept the original array?

PHP Code:
$za_contents[] = array('text' => BOX_CATALOG_REVIEWS'link' => zen_href_link(FILENAME_REVIEWS'''NONSSL')); 
So, what I am saying is, in the case you will have to pass a already built link, so what you have to do is from that already built link, you have to get back FILENAME_REVIEWS, which is not hard.
So basically you dont change the algorithm of that function, but you add the piece of code that would get the 'page' back from the generated 'link'