Two things; First, you are not limited to the colors shown in the property editor. You can enter any RGB color manually.
Second, no, you cannot make a uicontrol('style','text') have a transparent background. But you can make a text() object have a transparent background. You can make a large axes that is the same size as your figure, make it invisible set(ax,'visible','off') so that it does not obscure the background. Then use the text command (in the openingfcn of your gui) to add text to this axes. you can specify that the text should have no background color:
text(xcoord,ycoord,'hello world','backgroundcolor','none','parent',ax)
Presumably you already made such an axes to plot the background image, so you can just add text directly to that axes.