What's your APEX version?
Did you try the Set Value action on a Dynamic Action?
Or if you need it in your own code then use the $s("ITEM", "VALUE") call.
We are running Apex 4.2, and I tried both the Set Value and the Execute PL/SQL option and a couple combos of these two. I gave up after making sure that the dynamic action changes a text field with the return value of the select list and then tried to use that text field in the query. It says that nothing is returned in the query, which is false outside of apex and in the database itself with the same query.
The only thing I can think of is the bind variable. We are using "where menu_profile:PXX_ITEM_KEY" currently in the query
If you're Executing PL/SQL to change the value, then make sure your Shuttle item is specified in the Page Items to Return field.
Then only other thing I could suggest is to setup an example in apex.oracle.com and provide login credentials so that me or someone can log in and take a look.
PL/SQL call from a DA also works great.
My PL/SQL code was:
:P22_S := 'KING:BLAKE';
And then P22_S in the Page Items to Return field.