I'm probably just not understanding what you want to do.
You can pass dynamic content to a grammar built from an aspx page. The distinction is that you have to use an inline grammar, rather than setting the grammar statically in the Property Builder. One source for examples on this is the Banking Alerts reference application. The BillsToPay application of the Dialogs solution builds grammars dymanically by passing dynamic parameters to an aspx page that then builds the grammar. The code-behind then sets the InlineGrammar of a grammar object for the QA.
Here's a small excerpt of the code-behind, with a comment explaining what's being done:
// If there is only one bill to pay, we need to generate the correct
// dynamic grammar (so that saying 'yes' will return, e.g., SML indicating
// that 'Gas' is to be paid.) In the actual .aspx page, there is a reference
// to a static grammar that returns the correct SML for one particular case
// of the single-bill-to-pay case. The dynamic grammar is generated by
// a page with the same name (except .aspx, instead of .grxml) -- this .aspx page
// returns a grammar (notice that we pass as query parameters the information
// necessary to generate the correct grammar), and we then set that result
// as the inline grammar and clear the 'src' attributed.
PullDynamicGrammar(PayOneBillQA_DynamicGrammar, String.Format("?UserID={0}&BillsCollectionID={1}", Server.UrlEncode(userID), Server.UrlEncode(billsCollectionID)));
Is this the sort of thing you're trying to do, or is it something else?
Design and Conquer Blog