An alternative would be set the pushbutton-callback so something along this, similar to a "save as..." button in other applications:
function pushbutton_callback(hObject, evt, handles)
directory = uigetdir(pwd, 'Select Directory');
if ischar(directory)
set(handles.textfield, 'String', directory);
end
This way the user is prompted by a proper windows dialog to select a folder. This dialog also enables the user the create a new folder that is then inserted into your textfield. This is kind of the other way round then the original approach, but is the more common way for use-cases such as "select the directory where to save xxx".