For example:
if (dbSpaceKey())
{
y--;
}
else
{
if (y < UFO_STARTING_Y) y++;
}
It will sink with the same speed as it rises. If that's too fast, it's possible to calculate coordinates in floating point, so that you can define movement in less than one pixel units and round to the nearest integer only when the sprite is displayed.
By the way, what exactly did you want to do with this line?
y = (UFO_STARTING_X,UFO_STARTING_Y);
If you calculate both x and y in this function, I would expect to see rather:
y = UFO_STARTING_Y;
x = UFO_STARTING_X;
The comma is a valid operator in C++ and your statement compiles, but in this case it doesn't have much meaning to use it like that. On this page you will find the description of the comma operator (about the middle of the page).
http://www.cplusplus.com/doc/tutorial/operators/