Thank you for your response.
The reason that method is not appropriate is that I am not actually trying to return results from a custom table.  The client wants to return products that are associated with the custom table data.  So in my example, I have a specification custom table and a product document type.  The content editor can associate multiple specifications with a given product document.  There is an existing search that uses a standard smart search index for direct query of the product documents.  What I am creating is a specification search that allows the user to enter a specification name, grabs the guid from the custom table, then queries the product documents specification field for a match and returns a list of products that are associated with any relevant specifications.
Smart Search does not allow for custom queries(as far as I can tell).
My ultimate solution was to add standard ASP controls to my template and use a function to pass parameters into a datasource webpart connected to a universal viewer as my result set.  This allows both my product specific and specification search to exist on the same page and function independently.
The reason I am not using a filter is the requirement that user entered text be free form and not a selection from an available list of specifications.