Hi Dong,
What transaction is this 'home screen' and how does this list look like? Is it a table in a standard transaction?
In general, the way I would approach such a problem is this: When a selection is made and the user navigates to another transaction via a script button, I would store the selected record's ID in a hidden field in the same script. Then, there would be another hidden script button, attached to the home screen's OnCreateHandler that would read the selected ID from the hidden field and perform the selection, setting it to item "B"..
Sounds like you tried to do something like this, so the exact solution will depend on what kind of list is on the screen. No idea what would cause the slow performance. If it is a large table, then using slim state in SP3 should help with that.