The way our code is now, we don't really have alpha or beta string in the version string. In the end, it is just an attachment to a tar.gz file, I would not make the infrastructure for it, as we can just rename the tar before upload.
So, I would suggest:
1/ a gramps40 branch
2/ unstable releases 4.0.0, 4.0.1, ..... when stable, perhaps a 4.0.5 will be a stable release
3/ as long as releases are unstable, the files uploaded to sourceforge have alpha and beta suffix added, and releases go into the unstable branch on sourceforge download.
4/once there is gramps40, trunk will become a 4.1 somewhere in the far future