Depending on the layers, you will always have some kind of base layer (map) that you cannot convert. If you want to add data (markers, geo json stuff, etc.) to this map, you will have to convert it to the projection used by baselayer.
For markers, this is easy to do:
var google = new OpenLayers.Projection("EPSG:900913"),
latlon = new OpenLayers.Projection("EPSG:4326");
var location = new OpenLayers.LonLat( 10, 10 ).transform( latlon, google );
var marker = new OpenLayers.Marker( location, icon );
markerLayer.addMarker( marker );
Openlayers .