I agree that players should be allowed to decide for themselves when to open the shop without requiring a 'skill check'. The easiest way would be to A) notice when the player has captured the ball for three seconds, B) pop up a notice saying "Open shop? Hold paddle button." (or w/e) under the other paddle, and C) open the shop if the player flips the other paddle while the ball is captured.
Upon leaving the shop, the flipper--and, thus, the ball--should only be released when the button is released, even if the player isn't currently holding the button down. This will set the game back to the state it was in just before the player chose to enter the shop, without moving the game forward if the player isn't already holding the button down. (If a multiball event is occurring, also hold the other balls in place until the player releases the captured ball.)