Can I create a node that acts as a pointer to another node of the same type? For example:  

There are two types, "contest" and "recipe".  A recipe can reference any number of contests, and a contest can be referenced by any number of recipes.  There is a recipe View that lists all the details of each recipe matching the criteria.  I want to filter the recipes listed only to those in the most recent contest.  I can add the contest relationship.  The problem is that I have to choose from one of the existing contests.  Can I create a contest called "mostrecent" that will refer to a different contest depending on which of all contests was created most recently?
You can create a view that lists contests in newest/descending order and limit it to 1 item, and use that to return the nid of the lastest contest, or if you are comfortable with SQL, do something like select nid from {node} where type="contest" and status=1 ORDER BY created DESC limit 1 to get it.

You can then use that as an argument to another view that returns recipes based upon what contest they reference, eg, all recipes with a contest node reference of nid.

You can do that all inside the views UI with default arguments and so forth, or create a module to do it.

MORE SPECIFICS--the easy part:


create a view, filter it on published recipes
put in the fields area whatever you want to see, eg, the title linked to the recipe, a node teaser, etc.


MORE SPECIFICS--the hard part:


add an argument to the view:

a. select the field in recipe that is the node reference to contest

b. in action to be taken if argument is not present, select php code and enter:

$nid=db_result(db_query('select nid from {node} where type="contest" and status=1 ORDER BY created DESC limit 1'));
  return $nid;
save everything :)
Preview the view.  What should be happening now is the view will be returning all recipes that have the latest contest nid (aka node reference) in the field you entered in the argument above.