Yes, that is definitely possible.
For GUIDE, the main limitation is that the callbacks that GUIDE generates must be to routines that are inside the primary .m file or which have their own .m file. You cannot create a "library file" of multiple functions that are to be called as callbacks.
Also, if you create your own callbacks, then GUIDE can mess up on managing them.
It can typically turn out to be easiest to let GUIDE create its own callbacks and to create its own function headers in the main .m file, but then to just have at function call the function that actually implements what you want to do
function pushbutton3_Callback(hObject, event, handles)
pushbutton3_Callback_impl(hObject, event, handles)
end
with file pushbutton3_Callback_impl.m for example.