iMessage via WiFi only
No, there's no such option / preference. You could, though, turn off your carrier's data plan altogether by turning off the Cellular Data option (under Settings / General/ Cellular on iOS 6 and Settings / General / Network on iOS 5).