... чтобы их можно было использовать так ...

ли что-то не так / anti-pattern-ish (с точки зрения 'мышления в реагирующими / перевождь') в добавлен обратный вызовaction.data перешел в действие?

// reducer
ACTION_FOR_REDUCER() {
  var x = 123
  if ( action.data.callback ) action.data.callback( x )
  return {
    something: action.data.somedata
  }
},

Затем доступ к этим данным позже в приложении, когда вызывается действие (возможно, в контейнере)

// later in the app
this.props.dispatch(changeSomething({
  somedata: somedata,
  callback: (x) => { console.log(x) }
}))    

Ответы на вопрос(4)

Ваш ответ на вопрос