There is no API to fetch leads from a smart list. Given the dynamic nature of the SmartList, I am not even sure it would make sense to support this. You can, however, add leads to a (static) list and extract leads from the list using code like this -
StreamPostionHolder posHolder = new StreamPostionHolder();
List<LeadRecord> leadRecords = null;
try {
do {
leadRecords = this.client.getMultipleLeads(2,"RajExportableProgram.listForTesting",posHolder, null);
System.out.println("Retrieved " + leadRecords.size() + " leads");
} while (leadRecords.size() != 0);
} catch (MktowsClientException e) {
System.out.println("Exception occurred: " + e.getMessage());
return;
} catch (MktServiceException e) {
System.out.println("Exception occurred: " + e.getLongMessage());
return;
}