As dump and load is not an option at all, also I don't think there is any way to reduce the size of a database.
So the BCP seems only solution in this case.
To take care of indexes and other key constraints u need to use sybase re-engineering using power builder to genrate ddl of all the objects of the database, so the steps should be for the second option in 2nd post (which seems to be more safer)
1. Take bcp out of all the tables.
2. Genrate DDL for all the objects(table,indexes,triggers,sp etc) with the help of powerbuilder.
3. Create a new database of desired size.
4. Create the tables.
5. BCP in the data to the tables.
6 create rest of the objects using DDL that was genrated in 2nd step.
7. check if everything is fine, drop the old database and rename the new database with the name of old database.
to take the bcp of number of tables, below may help
1. execute below from sybase prompt
select 'bcp my_db'+'..',name +'out',name+'.bcp.out -UUser_name -SASE_Server_Name -Ppassword -c' from sysobjects where type='U'
2. Above will genrate the bcp command for all the user tables in the database.
3. execute them from OS prompt, to get the bcp out.
Hope this may be helpful