I've got a custom taxonomy "Portfolio Groups", along with a couple of these groups say "Cloth", "Footwear", ...

When open some category page, i would like the title to become like 'Site Title Cloth', however with wordpress_title(), it might be 'Site Title Portfolio Groups Cloth'

How do you take away the "Portfolio Groups" in the title?

simply employ the wordpress_title filter (some info here: http://adambrown.info/p/wp_hooks/hook/wp_title)

Are you currently saying you've got a hierarchical custom taxonomy and also you want the 2nd-level taxonomies to possess Web addresses which don't include their parent's title inside them?

If you're stating that then, so far as I realize it, that isn't possible - since it is hierarchical. If you wish to possess a url for example:

http://yourdomain.com/cloth/

then you will want a non-hierarchical taxonomy.

The choice is to setup a custom page template and make up a page known as 'Cloth' and choose your brand-new template with this page. Inside your template you'd produce a loop which output just the posts which are within this custom taxonomy.

Try putting this inside your header.php:

<title><?php
  global $page, $paged, $post;
  if (is_tax()) {
    $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
    $term_title = $term->name;
    echo "$term_title | ";
  } else {
    wp_title( '|', true, 'right' );
  }

  // Add the blog name.
  bloginfo( 'name' );

  // Add the blog description for the home/front page.
  $site_description = get_bloginfo( 'description', 'display' );
  if ( $site_description && ( is_home() || is_front_page() ) )
    echo " | $site_description";

  // Add a page number if necessary:
  if ( $paged >= 2 || $page >= 2 )
    echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );

  ?></title>