There's some confusion here.
al_set_clipping_rectangle() sets the clipping rectangle of the target bitmap's pixels.
"Setting up a screen to go from (0,0)-(1,1)" means that you'll create a transformation which maps input coordinates (like those you pass to al_draw_bitmap) ranging from (0,0)-(1,1) to what the target bitmap's dimensions are (e.g. (0,0)-(800,600)).
So, to clip coordinates (0,0)-(0.5,0.5) you'd do:
al_set_clipping_rectangle(0, 0, al_get_bitmap_width(al_get_target_bitmap()) * 0.5, al_get_bitmap_height(al_get_target_bitmap()) * 0.5);
In other words, the clipping rectangle is applied only after all the transformations have been applied, not before.