SQL Server : explicitly create an index on a primary key and unique fields
How can I execute this create table statement and ensure that the two
  automatically created indexes are stored on MY_INDEX_FILEGROUP as I am
  assuming that these automatically created indexes will be stored on
  MY_DATA_FILEGROUP that the table data will be stored in.


The table will exist on whichever filegroup contains the clustered index, because the clustered index is the data.

By default, a primary key index is clustered, so if you specify a different filegroup for that, the table ends up there.


  is it possible to seperate the automatically generated indexes into a different filegroup, from the data?


Yes, but don't. Bears will eat you.


  And as a seperate but related question is it possible to enforce a constraint like PRIMARY KEY or UNIQUE whilst preventing the automatic creation of the associated index?


No, this is how SQL Server enforces the constraint behind the scenes. Technically, SQL could use any mechanism to enforce constraints; it just makes the most sense to use an index to do it.