sure.
jscript: use .display property to show/hide the product images, depending on which attribute swatch has been selected, if such an array exists. put a .js file in the templates/some_template/jscript/ directory and zen cart will provide the inclusion. see their /docs/ on jscript for more details.
php: in templates/tpl_modules_attributes.php you'll need to recode how zc attributes are rendered to handle the ...shall we call them 'hot swatches'.
this can be as simple as
<div class="back">
<?php
if (isset($_COOKIE['SOME_COOKIE_NAME'])){
switch($i){
case 0: //let's say this is color swatch
echo str_replace('YOUR_CURRENT_ATTRIBUTES_STRING','YOUR_ATTRIBUTES_STRING_WITH_HOT_SWATCH',$options_menu[$i]);
break;
case 1: // and more cases, for each attribute you wanna make 'hot'
.
.
.
}
// or it's not a cookie val you wanna make condition, say some product id
elseif (isset($_GET['products_id']) && 15 == $_GET['products_id']){
switch($i){
case 0: //let's say this is material {shiny silk, cotton, ...} swatch
echo str_replace('YOUR_CURRENT_ATTRIBUTES_STRING','YOUR_ATTRIBUTES_STRING_WITH_HOT_SWATCH',$options_menu[$i]);
break;
case 1: // and more cases, for each attribute you wanna make 'hot'
.
.
.
}
in the product description or wherever you wanna inject the HTML that calls the jscript show/hide, make a tag set that includes your product images.
...this is how i'd do it without breaking core code.