A VariableType needs some way to save/restore the state of the object you're about to store with it, e.g. if a process reaches a wait state. In case the result of the bean call is reproducible, maybe you can save something like a query parameter and upon loading the variable again, just call the bean again with that same parameter? Activiti provides you with two VARCHAR(4000) fields called TEXT_ and TEXT2_ in ACT_RU_VARIABLE that you can use in combination with your own VariableType. I believe a good example of such a VariableType would be JPAEntityVariableType.
Or maybe it's possible to implement a custom VariableType but leave the setValue() / getValue() methods to do nothing. Then you would need to have VariableType.isCachable() return true and the value would only be stored in memory (questions is for how long? Certainly not after wait states, but maybe it even expires before that?)
Hope it helps.