I have a view that displays two different custom post types, so one loop. Is it possible to show each CPT with a different layout? Specifically, I want an instance of one post type to be full page width (1 column) and the other to show two posts per page width (2 columns).
What you show above pre-supposes that the ordering will always be kind, with two posts of type CPT2 always appearing in sequence so that they may be shown in adjacent columns, I'm not sure now likely that is.
In any case, I would approach this by applying classes to each iteration of the loop output that will determine the width they occupy, and conditionally apply those using conditional shortcodes that test the post type.
So that if the post type is CPT1, add the class width-100, and if the post type is CPT2, add the class width-50, something like that.