In api/v2/Participant.php - civicrm_participant_get should allow me to pass in either 'id' or 'participant_id' and return a participant array for a single participant (assuming it exists). Currently, it doesn't JOIN civicrm_participant.id on the passed id value in the query - and so returns all participants.
civicrm_participant_search also doesn't seem to support search by participant_id (same behavior).
You can use test-new/SimpleTest/api-v2/ParticipantGet.php to test this out - testParticipantGetParticipantIdOnly() method.
(NOTE: It's possible i'm doing something wrong in the test - but I think this api is truly broken.)