Can you populate a lookup field using a stored procedure in the query?

Before I go and develop a pretty complex stored procedure, can I call a store procedure as the query for a data type of select instead of using an actual query?

For example:
You can code a query like select value1, value2 from tablea then set your field key to value1 and text field to value2.

Can I do something like call sp1({input-field1-from-form}, {input-field2-from-form}, value1, value2) and have the list box populate value1 as the field key and value2 as the text field?

Anyone know the answer on this?

I cannot do this because it is impossible.